手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

nodejs如何检查文件是否存在

时间:2024-11-04 11:32:09

1、exists方法:检查文件是否存在,有两个参数分别为文件路径与回调函数。其中回调函数中参数为布尔值,表示文件是否存在。我们看示例如下:

nodejs如何检查文件是否存在

2、在vscode编辑器中,exists函数被划了一条横线。通过查看nodejs api文档,exists为被弃用函数。nodejs回调函数中,通常第一个参数为err,表示处理过程中是否有错误发生,而exists的回调函数参数表示文件是否存在,这是该方法被弃用的原因。

nodejs如何检查文件是否存在

3、stat方法:获取参数中文件或目录的信息(所属用户,所属用户组,大小,修改时间,访问时间,创建时间)等。如果文件不存在,回调函数中err将返回错误码ENOENT,所以通过校验错误码判断文件是否存在。示例如下:

nodejs如何检查文件是否存在

4、access方法:校验是否对参数中文件是否有对应权限,并通过回调函数返回校验结果。权限字段为可选参数,默认校验文件是否存在。关于文件权限,熟悉linux读者应该比较熟悉,文件有读、写、执行三种权限。对于普通的文件通常有读写权限,对于可执行程序,通常有读、执行权限。示例如下:

nodejs如何检查文件是否存在

5、access方法不仅校验文件是否存在,还校验文件权限。如果要同时校验,则可以通过或运算设置access参数,下图中我们列出支持的校验模式。在实例中,校验文件是否存在,并且是否可写。

nodejs如何检查文件是否存在
nodejs如何检查文件是否存在

6、open方法:打开文件。如果不考虑文件权限,即默认文件都有读权限。则直接通过以读模式调用open方法,如果打开失败并且判断错误码为ENOENT,则表示文件不存在。注意如果成功打开文件,需要关闭文件。

nodejs如何检查文件是否存在

7、nodejs api文档中特别提出,注意调用exists,stat,access函数后,再在回调中打开文件会引入竞争条件。这是因为这些函数都是异步的,当前操作返回文件不存在时,其他进程创建了文件,而异步回调中在处理时就产生了冲突。所以如果要打开文件,直接使用open方法并判断回调结果即可。

nodejs如何检查文件是否存在
nodejs如何检查文件是否存在
© 手抄报圈