时间:2021-05-26
之前的同事写了一个工具,但有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);
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Node.js实现批量下载图片简单操作。分享给大家供大家参考,具体如下:使用Node.js批量下载图片首先要获取到图片链接:constimg=["
node.js实现抓取代理ip主要文件:index.js/**支持:node.jsv7.9.0*/constcheerio=require('cheerio')
Node.js本身并没有提供直接复制文件的API,如果想用Node.js复制文件或目录,需要借助其他的API来实现。复制单个的文件可以直接用readFile、w
本文实例讲述了node.js中fs文件系统模块的使用方法。分享给大家供大家参考,具体如下:node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,
需要去除BOM,就把附件里的tool.php文件放到目标目录,然后在浏览器访问tool.php即可!复制代码代码如下:PHP批量去除PHP文件中bom的代码复制