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 教學》】
以上是nodejs怎麼修改檔案內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!