Node.js Nodejs写入文件

Node.js Nodejs写入文件,node.js,filesystems,Node.js,Filesystems,当我尝试写入文件数据时: var data = "Hello" fs.open(path, 'a', 0666, function(err, fd) { fs.writeSync(fd, data); }); 并在文件中写入重复项: HelloHello 为什么它会写两次相同的内容 您当前正在以追加模式打开文件,这就是“a”的含义。此模式意味着您写入的任何数据都将附加到文件末尾 因此,如果您运行此脚本两次,您将看到得到的结果:HelloHello。如果删除文件,然后重新运行脚本一次,您将

当我尝试写入文件数据时:

var data = "Hello"
fs.open(path, 'a', 0666, function(err, fd) {
  fs.writeSync(fd, data);
});
并在文件中写入重复项:

HelloHello

为什么它会写两次相同的内容

您当前正在以追加模式打开文件,这就是“a”的含义。此模式意味着您写入的任何数据都将附加到文件末尾

因此,如果您运行此脚本两次,您将看到得到的结果:HelloHello。如果删除文件,然后重新运行脚本一次,您将看到正确的结果


如果您只想写入此数据一次,您可能应该使用“w”模式写入模式-这会将您想要的任何内容写入文件,并销毁以前存在的任何内容。

我假设您的代码位于函数中,函数在加载时执行两次,在您调用它时执行一次。你能提供更多的代码吗,比如你是如何执行它的?试试这个url:也许在其他的变体中,它会工作得很好。另一个问题:尝试console.log并查看它是否打印两次,以查看打开的func或wirtesSyncI是否需要将我的字符串附加到现有文件中。我确信这段代码只运行一次,但在文件中它显示为HelloHello而不是Hello。