我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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读取目录: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);

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

之前的同事写了一个工具,但有bug,就是在替换文件后原文件的格式变成utf8 BOM了,这种带BOM的XML在Mac下可能读取不出来,所以就需要写个工具处理一下。其实思路比较简单,首先遍历目录,然后读取目录,将文件头三个字节去除掉,然后保存
2022-06-04

如何实现BAT批量去除文件首行以及批量合并文件脚本

这篇文章主要讲解了“如何实现BAT批量去除文件首行以及批量合并文件脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现BAT批量去除文件首行以及批量合并文件脚本”吧!bat批量去除文件
2023-06-08

linux下批量删除utf8 bom的实现方法

低版本的gcc编译包含bom的文件会报错 xxx.cpp:1: error: stray ‘357' in program xxx.cpp:1: error: stray ‘273' in program xxx.cpp:1: error:
2022-06-04

Java实现文件批量重命名,移动和删除

这篇文章主要为大家介绍了如何利用Java语言实现批量重命名,批量移动文件,批量删除tmp文件等功能,感兴趣的小伙伴可以跟随小编一起学习一下
2022-11-13

Node.js读写文件之批量替换图片的实现方法

问题:文件夹A中有大量图片文件,需要用另外一个图片替换掉A中图片,但是命名保持不变。 手工的做法如下: 1)浏览器打开图片->2)另存为->3)目标文件夹->4)找到一个图片->5)替换->6)确定 然后,重复步骤2)和之后的步骤。不小心会
2022-06-04

Python实现文件名批量处理

我们知道文件名是可以手动修改的,但是如果要同时修改多个文件名,那一个一个修改会浪费掉很多时间,此时我们就可以考虑使用python来实现文件名的批量处理。想要批量处理文件名首先确定需要处理的文件名,以及确定处理后新的文件名,这样就可以开始处理
2023-06-02

python实现批量重命名文件

#!/usr/bin/env python# -*- coding:UTF-8 -*-import os# 第一种方法files = os.listdir('.')i = 1for f in files:    filename, extn
2023-01-31

python 实现批量文件加密功能

目录一、源码1、结果展示2、源码二、源码注释1、所使用依赖包2、函数功能3、代码拓展三、可运行环境一、源码 1、结果展示 python自动化办公现在可不是一个陌生的词,也随着人们对自己隐私越来越看重,就会出现这样的需求:每人一个PDF文件,
2022-06-02

Python+wxPython实现文件名批量处理

正文本文档展示了如何使用wxPython创建一个简单的批量文件处理应用程序。该应用程序包括一个文本框,允许用户输入要处理的文件名。当用户单击"处理"按钮时,应用程序会对每个文件名执行指定的操作。可以根据文件扩展名定制处理过程。此外,本文档还提供了其他注意事项和扩展功能。
Python+wxPython实现文件名批量处理
2024-04-23

python实现批量文件内容替换

使用python实现批量文件内容替换,如下:#!/usr/bin/env pythonimport fileinputfor line in fileinput.input('test.txt',inplace=1,backup='.bak
2023-01-31

vbs怎么实现批量修改文件

这篇文章主要介绍“vbs怎么实现批量修改文件”,在日常操作中,相信很多人在vbs怎么实现批量修改文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vbs怎么实现批量修改文件”的疑惑有所帮助!接下来,请跟着小编
2023-06-08

Python怎么实现批量生成、重命名和删除word文件

这篇文章主要讲解了“Python怎么实现批量生成、重命名和删除word文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现批量生成、重命名和删除word文件”吧!批量生成w
2023-07-05

Android通过startService实现文件批量下载

关于startService的基本使用概述及其生命周期可参见《Android中startService基本使用方法概述》。 本文通过批量下载文件的简单示例,演示startService以及stopService(startId)的使用流程,
2022-06-06

编程热搜

目录