Heim > Web-Frontend > js-Tutorial > Hauptteil

Node.js implementiert die Stapelentfernung von BOM-Dateiheadern

PHPz
Freigeben: 2018-09-30 09:56:00
nach vorne
1479 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich Node.js zum Implementieren der Batch-Entfernung von BOM-Dateiheadern vorgestellt. In diesem Artikel können bedürftige Freunde darauf verweisen.

Ein ehemaliger Kollege hat ein Tool geschrieben, aber nach dem Ersetzen der Datei wurde das Format der Originaldatei in utf8 geändert. Diese Art von XML mit BOM kann unter Mac nicht gelesen werden Sie müssen ein Tool schreiben, um damit umzugehen.

Tatsächlich ist die Idee relativ einfach. Durchsuchen Sie zuerst das Verzeichnis, lesen Sie dann das Verzeichnis, entfernen Sie die ersten drei Bytes der Datei und speichern Sie sie dann als Datei im UTF-8-Format Code:)

var fs = require('fs');
var path = "目标路径..";


function readDirectory(dirPath) {
    if (fs.existsSync(dirPath)) {
        var files = fs.readdirSync(dirPath);
        
        files.forEach(function(file) {
            var filePath = dirPath + "/" + file;
            var stats = fs.statSync(filePath);
            if (stats.isDirectory()) {
                console.log('\n读取目录: ', filePath, "\n");
                readDirectory(filePath);
            } else if (stats.isFile()) {
                var buff = fs.readFileSync(filePath);
                if (buff[0].toString(16).toLowerCase() == "ef" && buff[1].toString(16).toLowerCase() == "bb" && buff[2].toString(16).toLowerCase() == "bf") {
                    //EF BB BF 239 187 191
                    console.log('\发现BOM文件:', filePath, "\n");
                    buff = buff.slice(3);
                    fs.writeFile(filePath, buff.toString(), "utf8");
                }
            }
        });       
    } else {
        console.log('Not Found Path : ', dirPath);
    }
}
readDirectory(path);
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Kapitels. Weitere verwandte Tutorials finden Sie unter Node.js Video-Tutorial!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage