仅在文件存在的情况下更新文件

时间:2016-05-10 06:57:02

标签: node.js fs

我想仅在文件存在时才使用NodeJ更新文件。 怎么做。 我阅读了节点文档,并且不推荐使用fs.exists。 如果我直接使用fs.writeFile,它将创建一个新文件,如果不存在。

如果文件存在,如何更新文件。 感谢。

3 个答案:

答案 0 :(得分:5)

使用fs.open和fs.write。

你需要的

fs.open标志:

git diff --no-index --ignore-space-change --word-diff --  old_file.py new_file.py

答案 1 :(得分:1)

来自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 权限。

答案 2 :(得分:0)

试试这个:

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

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