数码资讯
Node.js实现BOM文件头批去除
以前的同事写的一个工具,但有bug,这意味着以后替换文件,原始文件格式成为UTF8 BOM。带有BOM的XML可能不会在Mac下读出,所以我们需要编写一个工具来处理它。 其实,思维方式比较简单。先通过目录,然后读取目录,删除三字节的文件头,然后将它保存为UTF-8格式的文件,然后直接去代码。 复制代
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
以前的同事写的一个工具,但有bug,这意味着以后替换文件,原始文件格式成为UTF8 BOM。带有BOM的XML可能不会在Mac下读出,所以我们需要编写一个工具来处理它。
其实,思维方式比较简单。先通过目录,然后读取目录,删除三字节的文件头,然后将它保存为UTF-8格式的文件,然后直接去代码。
复制代码代码如下所示:
VaR FS =需要('fs);
目标路径;
功能ReadDirectory(dirPath){
如果(fs.existssync(dirPath)){
var文件= fs.readdirsync(dirPath);
files.foreach(功能(文件){)
var文件路径= dirPath +/+文件;
var属性= fs.statsync(路径);
如果(stats.isdirectory()){
console.log(' 读取目录:听,;
ReadDirectory(路径);
} else if(stats.isfile()){
VaR buff = fs.readfilesync(路径);
如果(迷{ 0 }。toString()(16)。toLowerCase = =EF迷{ 1 } ToString(16)(。toLowerCase)= =BB迷{ 2 } ToString(16)(。toLowerCase)= BF){
239187191
console.log(BOM文件:,听;
黄色= buff.slice(3);
fs.writefile(文件路径,buff.tostring(),utf8);
}
}
});
{人}
console.log(发现,路径dirPath);
}
}
ReadDirectory(路径);
其实,思维方式比较简单。先通过目录,然后读取目录,删除三字节的文件头,然后将它保存为UTF-8格式的文件,然后直接去代码。
复制代码代码如下所示:
VaR FS =需要('fs);
目标路径;
功能ReadDirectory(dirPath){
如果(fs.existssync(dirPath)){
var文件= fs.readdirsync(dirPath);
files.foreach(功能(文件){)
var文件路径= dirPath +/+文件;
var属性= fs.statsync(路径);
如果(stats.isdirectory()){
console.log(' 读取目录:听,;
ReadDirectory(路径);
} else if(stats.isfile()){
VaR buff = fs.readfilesync(路径);
如果(迷{ 0 }。toString()(16)。toLowerCase = =EF迷{ 1 } ToString(16)(。toLowerCase)= =BB迷{ 2 } ToString(16)(。toLowerCase)= BF){
239187191
console.log(BOM文件:,听;
黄色= buff.slice(3);
fs.writefile(文件路径,buff.tostring(),utf8);
}
}
});
{人}
console.log(发现,路径dirPath);
}
}
ReadDirectory(路径);
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。