如何在 Node.js 中的周期性活动期间将文本附加到文件?
How to append text to a file during periodic acitivity in Node.js?
如何在 Node.js 中定期 activity 期间将文本附加到现有文件?我的目标是将连续的传感器值记录到文本文件中。
我能够创建一个文件并在定期 activity 期间向其中写入单个值,但每次我追加该文件时,旧数据都会被删除(或者可能会完全创建一个新文件)。在 periodicactivity() 之前文件中的任何数据也会丢失。
fs.open('SensorData.txt', 'w', function(err, data) {
if (err) {
console.log("ERROR !! " + err);
} else {
fs.appendFile('SensorData.txt', content, function(err) {
if (err)
console.log("ERROR !! " + err);
fs.close(data, function() {
console.log('written success');
})
});
}
我在堆栈交换上找到了上面的代码,但是我无法让它在这个上下文中运行。我是 Node.js 的新手,我确信有更好的方法来完成我的任务。如果有任何意见,我将不胜感激。
谢谢jfriend00!
您可以使用 fs.appendFile()
为您处理所有事情:
fs.appendFile('SensorData.txt', content, function(err) {
if (err) {
console.log("error appending data to SensorData.txt");
} else {
// data appended successfully
}
});
使用 fs.appendFile()
时您无需打开或关闭文件,因为它会在一次调用中为您完成所有这些工作。它将打开文件进行追加,然后将内容写入文件末尾,然后关闭文件。
在您的原始代码中,代码行 fs.open('SensorData.txt', 'w', ...)
每次都会从头开始重新创建文件,从而清除所有以前的内容。由于 fs.appendFile()
自动为您管理文件的打开和关闭,因此无需您自己打开文件。如果您想打开一个文件以附加到它,您可以使用 fs.open('SensorData.txt', 'a', ...)
,但这对于您当前的任务来说不是必需的。
如何在 Node.js 中定期 activity 期间将文本附加到现有文件?我的目标是将连续的传感器值记录到文本文件中。
我能够创建一个文件并在定期 activity 期间向其中写入单个值,但每次我追加该文件时,旧数据都会被删除(或者可能会完全创建一个新文件)。在 periodicactivity() 之前文件中的任何数据也会丢失。
fs.open('SensorData.txt', 'w', function(err, data) {
if (err) {
console.log("ERROR !! " + err);
} else {
fs.appendFile('SensorData.txt', content, function(err) {
if (err)
console.log("ERROR !! " + err);
fs.close(data, function() {
console.log('written success');
})
});
}
我在堆栈交换上找到了上面的代码,但是我无法让它在这个上下文中运行。我是 Node.js 的新手,我确信有更好的方法来完成我的任务。如果有任何意见,我将不胜感激。
谢谢jfriend00!
您可以使用 fs.appendFile()
为您处理所有事情:
fs.appendFile('SensorData.txt', content, function(err) {
if (err) {
console.log("error appending data to SensorData.txt");
} else {
// data appended successfully
}
});
使用 fs.appendFile()
时您无需打开或关闭文件,因为它会在一次调用中为您完成所有这些工作。它将打开文件进行追加,然后将内容写入文件末尾,然后关闭文件。
在您的原始代码中,代码行 fs.open('SensorData.txt', 'w', ...)
每次都会从头开始重新创建文件,从而清除所有以前的内容。由于 fs.appendFile()
自动为您管理文件的打开和关闭,因此无需您自己打开文件。如果您想打开一个文件以附加到它,您可以使用 fs.open('SensorData.txt', 'a', ...)
,但这对于您当前的任务来说不是必需的。