仅当文件存在时才更新文件 Node

Update a file only if it exists Node

我只想在文件存在时使用 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);
}

使用 fs.open 和 fs.write。

fs.open 您需要的标志:

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

来自NodeJs 4.x documentation

var fs = require('fs');

fs.access('/path/to/your/file', fs.F_OK, (err) => {
   if (!err) {
     // File exists, update your file
   }
});

fs.F_OK - 文件对调用进程可见。这对于确定文件是否存在很有用,但没有说明 rwx 权限。如果未指定模式,则为默认值。

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