使用 Node.js 将一行写入 .txt 文件

2024-01-02

我想使用 Node.js 创建一个简单的日志系统,它将上一行之前的一行打印到 .txt 文件中。但是,我不知道 Node.js 的文件系统功能是如何工作的。

有人可以解释一下吗?


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

将数据附加到某些文本文件的最简单方法是使用内置fs.appendFile(filename, data[, options], callback)功能 https://nodejs.org/api/fs.html#fs_fs_appendfile_filename_data_options_callback from fs module https://nodejs.org/api/fs.html:

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

但是如果你想多次将数据写入日志文件,那么最好使用fs.createWriteStream(path[, options])功能 https://nodejs.org/api/fs.html#fs_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

注意logger.write在上面的示例中,不写入新行。要将数据写入新行:

var writeLine = (line) => logger.write(`\n${line}`);
writeLine('Data written to a new line');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Node.js 将一行写入 .txt 文件 的相关文章

随机推荐