この記事では主に、BOM ファイル ヘッダーの一括削除を実装するための Node.js を紹介します。必要な場合は、その実装コードを参照してください。
元同僚がツールを作成しましたが、ファイルを置き換えた後、元のファイルの形式が utf8 BOM に変更されました。この種の BOM 付き XML は Mac では読み取れない可能性がありました。それを処理するツールを作成する必要があります。
実際、考え方は比較的単純です。まずディレクトリを走査し、次にディレクトリを読み取り、ファイルの最初の 3 バイトを削除して、それを 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);
上記はこの章の全内容です。その他の関連チュートリアルについては、Node.js ビデオ チュートリアル をご覧ください。