3 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
appendFile
const fs = require('fs');fs.appendFile('message.txt', 'data to append', function (err) { if (err) throw err; console.log('Saved!');});
const fs = require('fs');fs.appendFileSync('message.txt', 'data to append');

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
appendFile
, appendFile
EMFILE
appendFile
WriteStream
.
appendFile
:
console.log(new Date().toISOString());[...Array(10000)].forEach( function (item,index) { fs.appendFile("append.txt", index+ "\n", function (err) { if (err) console.log(err); });});console.log(new Date().toISOString());
{ Error: EMFILE: too many open files, open 'C:\mypath\append.txt' at Error (native) errno: -4066, code: 'EMFILE', syscall: 'open', path: 'C:\\mypath\\append.txt' }
appendFile
var stream = fs.createWriteStream("append.txt", {flags:'a'});console.log(new Date().toISOString());[...Array(10000)].forEach( function (item,index) { stream.write(index + "\n");});console.log(new Date().toISOString());stream.end();
stream.end()
AutoClose:true

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用createWriteStream的代碼為每次寫(xiě)入創(chuàng)建一個(gè)文件描述符。因?yàn)樗蠊?jié)點(diǎn)在寫(xiě)入后立即關(guān)閉,因此log.end更好。
var fs = require('fs');
var logStream = fs.createWriteStream('log.txt', {'flags': 'a'});
// use {'flags': 'a'} to append and {'flags': 'w'} to erase and write a new file
logStream.write('Initial line...');
logStream.end('this is the end line');
- 3 回答
- 0 關(guān)注
- 638 瀏覽
添加回答
舉報(bào)