nodejs修改文件內容的方法:1、用“fs.writeFile(path,data,callback:(err)=>void)”方法;2、用“fs.open(path,(err,fd)=>{})”打開文件,再通過文件描述符fd來寫入數據。
本教程操作環(huán)境:windows7系統(tǒng)、nodejs 14.15.4版,DELL G3電腦。
在nodejs中,可以利用文件文件系統(tǒng)模塊(簡稱 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為緩存區(qū)起寫的位置 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 教程》】