Node.js は BOM ファイル ヘッダーのバッチ削除を実装します

PHPz
リリース: 2018-09-30 09:56:00
転載
1480 人が閲覧しました

この記事では主に、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 ビデオ チュートリアル をご覧ください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート