nodejs修改文件內(nèi)容的方法:1、用“fs.writeFile(path,data,callback:(err)=>void)”方法;2、用“fs.open(path,(err,fd)=>{})”打開(kāi)文件,再通過(guò)文件描述符fd來(lái)寫入數(shù)據(jù)。
本教程操作環(huán)境:windows7系統(tǒng)、nodejs 14.15.4版,DELL G3電腦。
在nodejs中,可以利用文件文件系統(tǒng)模塊(簡(jiǎn)稱 fs)的內(nèi)置方法來(lái)修改文件內(nèi)容。
修改文件內(nèi)容
將數(shù)據(jù)寫入文件,數(shù)據(jù)可以是字符串或buffer:fs.writeFile(path,data,callback:(err)=>void)
fs.writeFile('message.txt', data, (err) => { if (err) throw err; });
還有另一種方式,通過(guò)文件描述符fd來(lái)寫文件:
fs.open(path,(err,fd)=>{ //針對(duì)拿到的fd 進(jìn)行操作:將buffer內(nèi)容寫如fd對(duì)應(yīng)的文件里 //position為文件的起點(diǎn) //length為待寫的長(zhǎng)度 //offset為緩存區(qū)起寫的位置 fs.write(fd,buffer,offset,length,position,(err,bytesWrittenLen,buffer)=>{ }) //關(guān)閉文件 fs.close(fd, (err) => { if (err) throw err; }); })
示例:讀取文件 并修改文件內(nèi)容
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'); }); });
【推薦學(xué)習(xí):《nodejs 教程》】