如何在Node.js中的定期活动期间向文件追加文本?

如何在Node.js中的定期活动期间向文件追加文本?,node.js,intel-edison,Node.js,Intel Edison,如何在Node.js中的周期性活动期间将文本附加到现有文件中?我的目标是将连续的传感器值记录到文本文件中 我可以创建一个文件,并在定期活动期间向其写入一个值,但每次附加该文件时,旧数据都会被删除(或者可能会创建一个新文件)。periodicactivity()之前文件中的任何数据也将丢失 fs.open('SensorData.txt', 'w', function(err, data) { if (err) { console.log("ERROR !! " + err); } els

如何在Node.js中的周期性活动期间将文本附加到现有文件中?我的目标是将连续的传感器值记录到文本文件中

我可以创建一个文件,并在定期活动期间向其写入一个值,但每次附加该文件时,旧数据都会被删除(或者可能会创建一个新文件)。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');
        })
    });
}
我在stack exchange上找到了上面的代码,但我无法使其在此上下文中运行。我是Node.js新手,我相信有更好的方法来完成我的任务。如有任何意见,我将不胜感激


谢谢你,J00

您只需使用
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抱怨什么?错误是什么?