Node 파일에 추가 내용

1839 단어 nodeappend
파일 덮어쓰기:
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)

좋은 웹페이지 즐겨찾기