相关疑难解决方法(0)

同步检查Node.js中是否存在文件/目录

如何使用node.js同步检查文件或目录是否存在?

node.js

1113
推荐指数
7
解决办法
71万
查看次数

在Linux上,access()比stat()更快吗?

我会假设access()只是stat()的一个包装,但我一直在谷歌上搜索并找到一些关于用"更便宜"的访问调用替换stat调用的轶事.假设您只对检查文件是否存在感兴趣,访问速度更快吗?文件系统完全不同吗?

linux performance posix file stat

11
推荐指数
1
解决办法
3108
查看次数

NodeJs:fs.stat()或fs.access()检查文件夹是否存在?

我目前正在尝试找出在存储文件之前检查本地文件夹是否存在的“正确”方法,并且nodejs文档有些混乱。

fs.exists()已被废弃,你应该fs.stat()或fs.access()使用。到目前为止,一切都很好。

fs.stat():

不建议在调用fs.open(),fs.readFile()或fs.writeFile()之前使用fs.stat()检查文件是否存在。而是,用户代码应直接打开/读取/写入文件,并在文件不可用时处理引发的错误。

这说明我应该尝试编写,捕获错误,创建文件夹,然后重试。即使我正在移动/重命名文件,我也可以,所以我不直接使用上述三个功能之一。

然后,文档说:

要检查文件是否存在而不随后对其进行操作,建议使用fs.access()。

由于我不是真正在修改文件,而是“仅”修改内容,因此有人可能会认为这是修改的方法。

但是再一次,fs.access()文档详细介绍了为什么这也是一个坏主意:

不建议在调用fs.open(),fs.readFile()或fs.writeFile()之前使用fs.access()检查文件的可访问性。这样做会引入竞争条件,因为其他进程可能会在两次调用之间更改文件的状态。而是,用户代码应直接打开/读取/写入文件,并处理无法访问文件时引发的错误。

Yadda yadda yadda,已经有一些相关的问题(herehere),但是是否有不超过两年的“最佳实践”的官方信息?

fs node.js

5
推荐指数
2
解决办法
1865
查看次数

标签 统计

node.js ×2

file ×1

fs ×1

linux ×1

performance ×1

posix ×1

stat ×1