nodejs修改文件内容的方法:1、用“fs.writeFile(path,data,callback:(err)=>void)”方法;2、用“fs.open(path,(err,fd)=>{})”打开文件,再通过文件描述符fd来写入数据。
本教程操作环境:windows7系统、nodejs 14.15.4版,DELL G3电脑。
在nodejs中,可以利用文件文件系统模块(简称 fs)的内置方法来修改文件内容。
修改文件内容
将数据写入文件,数据可以是字符串或buffer:fs.writeFile(path,data,callback:(err)=>void)
fs.writeFile('message.txt', data, (err) => { if (err) throw err; });
还有另一种方式,通过文件描述符fd来写文件:
fs.open(path,(err,fd)=>{ //针对拿到的fd 进行操作:将buffer内容写如fd对应的文件里 //position为文件的起点 //length为待写的长度 //offset为缓存区起写的位置 fs.write(fd,buffer,offset,length,position,(err,bytesWrittenLen,buffer)=>{ }) //关闭文件 fs.close(fd, (err) => { if (err) throw err; }); })
示例:读取文件 并修改文件内容
const fs = require('fs'); const path = require('path'); const newList = []; fs.readFile(path.join(__dirname, './json/hp_mph.json'), 'utf8', function (err, data) { if (err) throw err; let list = JSON.parse(data); // list.forEach((item,index)=>{ // let value = item.properties; // let result = {}; // result.ID = index + 1; // result.TYPE = value.FLAG_A; // result.X = value.X; // result.Y = value.Y; // newList.push(result); // }) for (let i = 0; i < list.length; i++) { let result = {}; let value = list[i].properties; result.ID = i + 1; result.TYPE = value.FLAG_A; result.X = value.X; result.Y = value.Y; newList.push(result); } let newContent = JSON.stringify(newList, null, 4); fs.writeFile('result.json', newContent, 'utf8', (err) => { if (err) throw err; console.log('success done'); }); });
【推荐学习:《nodejs 教程》】