私の以前の同僚はツールを書きましたが、バグがありました。つまり、ファイルを置き換えた後、元のファイルの形式がUTF8 BOMになりました。 BOMを使用したこの種のXMLはMacで読み取られない可能性があるため、対処するためのツールを作成する必要があります。
実際、アイデアは比較的簡単です。最初に、ディレクトリを反復し、ディレクトリを読み取り、ファイルの最初の3バイトを削除し、UTF-8形式のファイルとして保存します。コードを入力するだけです:)
コードコピーは次のとおりです。
var fs = require( 'fs');
var path = "ターゲットパス...";
関数readdirectory(dirpath){
if(fs.existsync(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 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(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( 'not inount found path:'、dirpath);
}
}
readdirectory(path);