這篇文章給大家分享的是有關Node.js中實現(xiàn)文件寫入的方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
看完文件讀取再看文件寫入非常簡單,兩者的操作幾乎一一對應
fs.writeFile(file, data[, options], callback)
file:文件名或文件描述符
data:常用的主要是 string 和 buffer
callback(err)
當file
是文件名時,則異步地寫入數(shù)據(jù)到文件,如果文件已存在,則覆蓋文件內(nèi)容
const fs = require('fs'); const data = Buffer.from('Hello, Node.js'); fs.writeFile('./test.txt', data, err => { if (err) throw err; console.log('文件已被保存'); });
fs.write 有兩種重載
fs.write(fd, buffer[, offset[, length[, position]]], callback):參數(shù)含義和 fs.read 幾乎相同
fs.write(fd, string[, position[, encoding]], callback):只能把字符串內(nèi)容全部寫入文件
兩個的區(qū)別就是適用 buffer 可以治寫入 buffer 中offset ~ length + offset
的內(nèi)容,而使用字符串只能把字符串內(nèi)容全部寫入文件
const fs = require('fs'); const data1 = Buffer.from('Hello, Node.js'); const data2 = 'Hello, Node.js'; const fd = fs.openSync('./test.txt', 'w'); console.log(fd) fs.write(fd, data1, err => { if (err) throw err; console.log('data1 已被寫入'); }); fs.write(fd, data2, err => { if (err) throw err; console.log('data2 已被寫入'); }); setTimeout(() => { fs.close(fd, console.log); }, 100);
fs.appendFile(path, data[, options], callback)
將數(shù)據(jù)追加到文件尾部,如果文件不存在則創(chuàng)建該文件
const fs = require('fs/promises'); const data1 = Buffer.from('Hello,'); const data2 = Buffer.from(' Node.js'); fs.appendFile('./test.txt', data1) .then(() => { fs.appendFile('./test.txt', data2); console.log('文件內(nèi)容追加完成'); });
fs.createWriteStream(path[, options])
用來創(chuàng)建一個可寫的文件流,options 和 fs.createReadStream 幾乎相同
options(比較常用的有)
把一個可讀流內(nèi)容寫到可寫流非常簡單
const fs = require('fs'); fs.createReadStream('./test.txt') .pipe(fs.createWriteStream('./copy.txt'));
感謝各位的閱讀!關于Node.js中實現(xiàn)文件寫入的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!