Мой предыдущий коллега написал инструмент, но была ошибка, то есть после замены файла, формат исходного файла стал UTF8 BOM. Этот вид XML с BOM не может быть прочитана на Mac, поэтому мне нужно написать инструмент для борьбы с ним.
На самом деле, идея относительно проста. Сначала переверните через каталог, затем прочитайте каталог, удалите первые три байта файла и сохраните его в качестве файла в формате UTF-8. Просто введите код :)
Кода -копия выглядит следующим образом:
var fs = require ('fs');
var path = "target path ...";
функция readdirectory (dirpath) {
if (fs.existssync (dirpath)) {
var files = fs.readdirsync (dirpath);
files.foreach (function (file) {
var filepath = dirpath + "/" + файл;
var stats = fs.statsync (filepath);
if (stats.isdirectory ()) {
console.log ('/n Read Directory:/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 ('/discover bom file:', filepath, "/n");
buff = buff.slice (3);
fs.writefile (filepath, buff.tostring (), "utf8");
}
}
});
} еще {
console.log ('не найденный путь:', dirpath);
}
}
readdirectory (path);