首頁 > web前端 > js教程 > 主體

Node.js實作批次去除BOM檔案頭

PHPz
發布: 2018-09-30 09:56:00
轉載
1480 人瀏覽過

這篇文章主要介紹了Node.js實現批量去除BOM文件頭,本文直接給出實現代碼,需要的朋友可以參考下。

之前的同事寫了一個工具,但有bug,就是在替換文件後原文件的格式變成utf8 BOM了,這種帶BOM的XML在Mac下可能讀取不出來,所以就需要寫個工具處理一下。

其實思路比較簡單,先遍歷目錄,然後讀取目錄,將文件頭三個字節去除掉,然後保存為utf-8格式的文件即可,直接上代碼吧:)

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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板