Node.js 仅当文件存在时才更新它

Node.js 仅当文件存在时才更新它,node.js,fs,Node.js,Fs,我只想在文件存在时使用NodeJs更新文件。 如何做到这一点。 我阅读了节点文档,不推荐使用fs.exists。 如果我直接使用fs.writeFile,它将创建一个不存在的新文件 如何仅在文件存在时更新文件。 谢谢。试试这个: var fs = require('fs'); var myFile = './mono.txt'; try { if (!fs.accessSync(myFile)) console.log('File does already exist'); } catch

我只想在文件存在时使用NodeJs更新文件。 如何做到这一点。 我阅读了节点文档,不推荐使用fs.exists。 如果我直接使用fs.writeFile,它将创建一个不存在的新文件

如何仅在文件存在时更新文件。 谢谢。

试试这个:

var fs = require('fs');
var myFile = './mono.txt';

try {
  if (!fs.accessSync(myFile)) console.log('File does already exist');
}
catch (exc) {
  fs.writeFile(myFile);
}
试试这个:

var fs = require('fs');
var myFile = './mono.txt';

try {
  if (!fs.accessSync(myFile)) console.log('File does already exist');
}
catch (exc) {
  fs.writeFile(myFile);
}

使用fs.open和fs.write

fs.open您需要的标志:

  * 'r+' - Open file for reading and writing. An exception occurs if the file does not exist.

使用fs.open和fs.write

fs.open您需要的标志:

  * 'r+' - Open file for reading and writing. An exception occurs if the file does not exist.

fs.F_OK
-调用进程可以看到该文件。这有助于确定文件是否存在,但不涉及rwx权限。如果未指定模式,则为默认值

您还可以使用标志
fs.R_OK | fs.W_OK | fs.X_OK
额外检查呼叫进程的rwx权限。

fs.F_OK
-调用进程可以看到该文件。这有助于确定文件是否存在,但不涉及rwx权限。如果未指定模式,则为默认值


您还可以使用标志
fs.R_OK | fs.W_OK | fs.X_OK
来额外检查调用进程的rwx权限。

fs.existsSync(path)已弃用。Try
fs.accessSync(…)
No sync IO please.fs.existsSync(path)已弃用。Try
fs.accessSync(…)
请不要同步IO。这也是我的答案=你也可以用
fs.writeFile()来做。这是正确答案。将“r+”标志与fs.writeFile一起使用。Thanks@MadaraUchiha使用r+写入fs.writeFile时,它不会覆盖该文件。它只是替换字符。如何覆盖文件?这也是我的答案=d您也可以使用
fs.writeFile()
来覆盖文件。这是正确答案。将“r+”标志与fs.writeFile一起使用。Thanks@MadaraUchiha使用r+写入fs.writeFile时,它不会覆盖该文件。它只是替换字符。如何覆盖该文件?