国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Node.js實現(xiàn)批量去除BOM文件頭

2024-05-06 16:12:31
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Node.js實現(xiàn)批量去除BOM文件頭,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
 
 

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

 

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

 

 

復(fù)制代碼代碼如下:

var fs = require('fs');
var path = "目標(biāo)路徑..";

 


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讀取目錄:/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('/發(fā)現(xiàn)BOM文件:', filePath, "/n");

                    buff = buff.slice(3);
                    fs.writeFile(filePath, buff.toString(), "utf8");
                }
            }
        });       

    } else {
        console.log('Not Found Path : ', dirPath);
    }
}

readDirectory(path);

 

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 沅陵县| 丰城市| 永康市| 淮北市| 雷山县| 滦南县| 新闻| 三江| 新安县| 龙江县| 五峰| 阿拉尔市| 张北县| 天气| 黔江区| 河西区| 涿鹿县| 三门峡市| 陵川县| 新乐市| 沙坪坝区| 金堂县| 盈江县| 渭南市| 德令哈市| 讷河市| 萨迦县| 博爱县| 五峰| 海南省| 洞口县| 天水市| 家居| 天水市| 都江堰市| 山东| 安溪县| 民勤县| 达拉特旗| 娄烦县| 新野县|