覆盖文件:
fs.writeFile('log.txt', 'Hello Node', function (err) { if (err) throw err; console.log('It\'s saved!'); }); // => message.txt erased, contains only 'Hello Node'
自己的答案:
var log = fs.createWriteStream('log.txt', {'flags': 'a'}); // use {'flags': 'a'} to append and {'flags': 'w'} to erase and write a new file log.write("this is a message");
后面有人对作者自己给出的答案的评价:
Your code using createWriteStream creates a file descriptor for every write. log.end is better because it asks node to close immediatelly after the write.
var log = fs.createWriteStream('log.txt', {'flags': 'a'}); // use {'flags': 'a'} to append and {'flags': 'w'} to erase and write a new file log.end("this is a message");
最佳答案: (since node 0.8)
fs.appendFile('message.txt', 'data to append', function (err) { });
其它答案:
var fs = require('fs'), str = 'string to append to file';
fs.open('filepath', 'a', 666, function( e, id ) {
fs.write( id, 'string to append to file', null, 'utf8', function(){
fs.close(id, function(){
console.log('file closed');
});
});
});
其它答案:
fs.appendFile('message.txt', 'data to append', function (err) { if (err) throw err; console.log('The "data to append" was appended to file!'); });
不好的答案:
fd = fs.openSync(path.join(process.cwd(), 'log.txt'), 'a') fs.writeSync(fd, 'contents to append') fs.closeSync(fd)
- 本文固定链接: http://madong.net.cn/index.php/2016/09/576/
- 转载请注明: 管理员 于 小东 发表