我想使用 Node.js 创建一个简单的日志系统,它将过去一行之前的一行打印到一个 .txt 文件中。但是,我不知道 Node.js 的文件系统功能是如何工作的。
谁能解释一下?
最佳答案
将数据插入文本文件的中间并不是一项简单的任务。如果可能,您应该将其附加到文件的末尾。
在文本文件中追加数据的最简单方法是使用内置 fs.appendFile(filename, data[, options], callback)
function来自 fs
module :
var fs = require('fs')
fs.appendFile('log.txt', 'new data', function (err) {
if (err) {
// append failed
} else {
// done
}
})
但是如果你想多次将数据写入日志文件,那么最好使用fs.createWriteStream(path[, options])
function。而是:
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
时,Node 都会不断将新数据附加到您的文件中,直到您的应用程序关闭,或者直到您手动关闭调用 .end 的流
:
logger.end() // close string
请注意,上述示例中的 logger.write
不会写入新行。将数据写入新行:
var writeLine = (line) => logger.write(`\n${line}`);
writeLine('Data written to a new line');
关于node.js - 使用 Node.js 将一行写入 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33418777/