Cet article présente principalement Node.js pour implémenter la suppression par lots des en-têtes de fichiers BOM. Cet article donne directement le code d'implémentation. Les amis dans le besoin peuvent s'y référer.
Un ancien collègue a écrit un outil, mais il y a eu un bug. Après le remplacement du fichier, le format du fichier d'origine a changé en utf8 BOM. Ce type de XML avec BOM peut ne pas être lu sous Mac, donc je. Vous devez écrire un outil pour le gérer.
En fait, l'idée est relativement simple. Parcourez d'abord le répertoire, puis lisez le répertoire, supprimez les trois premiers octets du fichier, puis enregistrez-le sous forme de fichier au format UTF-8. 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);
Ce qui précède représente l'intégralité du contenu de ce chapitre. Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo Node.js !