首頁 >web前端 >前端問答 >nodejs怎麼修改檔案內容

nodejs怎麼修改檔案內容

青灯夜游
青灯夜游原創
2021-09-16 13:00:588968瀏覽

nodejs修改檔案內容的方法:1、用「fs.writeFile(path,data,callback:(err)=>void)」方法;2、用「fs.open(path,(err ,fd)=>{})」開啟文件,再透過文件描述子fd來寫入資料。

nodejs怎麼修改檔案內容

本教學操作環境: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(&#39;result.json&#39;, newContent, &#39;utf8&#39;, (err) => {
        if (err) throw err;
        console.log(&#39;success done&#39;);
    });
});

【推薦學習:《nodejs 教學》】

以上是nodejs怎麼修改檔案內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn