Heim > Artikel > Web-Frontend > Node.js implementiert die Stapelentfernung von BOM-Dateiheadern
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);
Das Obige ist der gesamte Inhalt dieses Kapitels. Weitere verwandte Tutorials finden Sie unter Node.js Video-Tutorial!