js将一行写入.txt文件中。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (189)

我想要创建一个简单的日志系统,它使用Node.js将过去一行之前的一行打印到txt文件中,但是我不知道Node.js中的文件系统是如何工作的。有人能解释一下吗?

提问于
用户回答回答于

将数据插入文本文件的中间并不是一项简单的任务。如果可能的话,应该将其附加到文件的末尾。

添加一些文本文件的数据的最简单的方法是使用内置。fs.appendFile(filename, data[, options], callback)功能从fs模块:

var fs = require('fs')
fs.appendFile('log.txt', 'new data', function (err) {
  if (err) {
    // append failed
  } else {
    // done
  }
})

但是,如果您想多次将数据写入日志文件,那么最好使用fs.createWriteStream(path[, options])功能:

var fs = require('fs')
var logger = fs.createWriteStream('log.txt', {
  flags: 'a' // 'a' means appending (old data will be preserved)
})

logger.write('some data') // append string to your file
logger.write('more data') // again
logger.write('and more') // again

节点将在每次调用时将新数据追加到文件中。.write,直到应用程序被关闭,或者直到手动关闭流调用。.end:

logger.end() // close string
用户回答回答于

简单使用fs模块和类似的内容:

fs.appendFile('server.log', 'string to append', function (err) {
   if (err) return console.log(err);
   console.log('Appended!');
});

扫码关注云+社区