手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Node.js实现批量去除BOM文件头
Node.js实现批量去除BOM文件头
摘要:之前的同事写了一个工具,但有bug,就是在替换文件后原文件的格式变成utf8BOM了,这种带BOM的XML在Mac下可能读取不出来,所以就需...

之前的同事写了一个工具,但有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读取目录: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实现批量去除BOM文件头】相关文章:

javascript实现行拖动的方法

javascript实现查找数组中最大值方法汇总

jQuery实现延迟跳转的方法

js实现异步循环实现代码

javascript实现十秒钟后注册按钮可点击的方法

jquery实现的判断倒计时是否结束代码

js实现两点之间画线的方法

纯javascript实现四方向文本无缝滚动效果

javascript实现模拟时钟的方法

jQuery实现给页面换肤的方法

精品推荐
分类导航