最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Node.js实现批量去除BOM文件头

来源:动视网 责编:小采 时间:2020-11-27 21:30:37
文档

Node.js实现批量去除BOM文件头

Node.js实现批量去除BOM文件头:这篇文章主要介绍了Node.js实现批量去除BOM文件头,本文直接给出实现代码,需要的朋友可以参考下。之前的同事写了一个工具,但有bug,就是在替换文件后原文件的格式变成utf8 BOM了,这种带BOM的XML在Mac下可能读取不出来,所以就需要写个工具处理一下。其实思路
推荐度:
导读Node.js实现批量去除BOM文件头:这篇文章主要介绍了Node.js实现批量去除BOM文件头,本文直接给出实现代码,需要的朋友可以参考下。之前的同事写了一个工具,但有bug,就是在替换文件后原文件的格式变成utf8 BOM了,这种带BOM的XML在Mac下可能读取不出来,所以就需要写个工具处理一下。其实思路


这篇文章主要介绍了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实现批量去除BOM文件头

Node.js实现批量去除BOM文件头:这篇文章主要介绍了Node.js实现批量去除BOM文件头,本文直接给出实现代码,需要的朋友可以参考下。之前的同事写了一个工具,但有bug,就是在替换文件后原文件的格式变成utf8 BOM了,这种带BOM的XML在Mac下可能读取不出来,所以就需要写个工具处理一下。其实思路
推荐度:
标签: 文件 js 去除bom头
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top