如何在写入目录之前检查目录是否存在(nodejs)



我打算使用fs.access来查看一个目录是否存在,如果它存在,则将一个文件写入该目录,如果不存在,则首先创建目录,然后将文件写入其中。

但是在文档中,它说不建议在调用fs.open()之前使用fs.access()检查文件的可访问性,不建议使用fs.readFile()或fs.writeFile()。这样做会引入争用条件,因为其他进程可能会在两次调用之间更改文件的状态。

相反,用户代码应该直接打开/读取/写入文件,并处理在文件无法访问时引发的错误。

有没有推荐的方法先检查再写?

正如您刚刚引用的文档所说,推荐的方法是简单地使用 fs.open()fs.readFile()fs.writeFile() 来尝试加载文件,并在它抛出错误时处理错误。

最新更新