这篇文章主要介绍了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视频教程!