最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

的NodeJS:fs.stat()或fs.access()检查一个文件夹是否存在?

IT培训 admin 9浏览 0评论

的NodeJS:fs.stat()或fs.access()检查一个文件夹是否存在?

目前我正在试图找出“正确”的方式,检查本地文件夹中存在一个文件保存到它之前是由文档的NodeJS弄得一点点。

fs.exists()已被废弃,你应该fs.stat()或fs.access()使用。到现在为止还挺好。

fs.stat():

使用fs.stat()调用fs.open()之前检查文件是否存在,fs.readFile()或不推荐fs.writeFile()。相反,用户代码应打开/读/直接将文件编写和处理错误提出,如果该文件不可用。

这个规定,我应该只是尝试写,捕获错误,创建文件夹,然后再试一次。也没意见,即使我移动/重命名文件,所以我不直接使用的上述三个功能之一。

然后,该医生说:

要检查文件是否存在,而无需操纵之后它,fs.access()的建议。

因为我没有真正修改文件,但“只”它的内容,人们可能会认为这是要走的路。

不过话又说回来,在fs.access()文档深入讨论了为什么这是一个坏主意,太:

使用fs.access()调用fs.open()之前检查文件的可访问性,fs.readFile()或不推荐fs.writeFile()。这样做引入了竞争条件,因为其他进程可能会改变两个电话之间的文件的状态。相反,用户代码应打开/读/直接将文件编写和处理错误提出,如果该文件是不可访问。

Yadda内容非常重要,目前已经有些相关问题(here,或here),但有关于这不超过两岁的“最佳实践”的任何官方信息?

回答如下:

正确的方法,但我不认为节点支持它,是打开的目录获得dirfd。这是只开放应使用,然后faccess或FSTAT可以在dirfd或fd被调用。然后,如果目录的开放获得成功以后,使用了openat与dirfd打开文件。

我写了使用fs.createReadStream和处理的错误,如果路径不是文件的HTTP服务器。它也可用于暂停和恢复,以便能够在打开的文件使用FSTAT前的数据流开始管的响应。

的NodeJS:fs.stat()或fs.access()检查一个文件夹是否存在?

目前我正在试图找出“正确”的方式,检查本地文件夹中存在一个文件保存到它之前是由文档的NodeJS弄得一点点。

fs.exists()已被废弃,你应该fs.stat()或fs.access()使用。到现在为止还挺好。

fs.stat():

使用fs.stat()调用fs.open()之前检查文件是否存在,fs.readFile()或不推荐fs.writeFile()。相反,用户代码应打开/读/直接将文件编写和处理错误提出,如果该文件不可用。

这个规定,我应该只是尝试写,捕获错误,创建文件夹,然后再试一次。也没意见,即使我移动/重命名文件,所以我不直接使用的上述三个功能之一。

然后,该医生说:

要检查文件是否存在,而无需操纵之后它,fs.access()的建议。

因为我没有真正修改文件,但“只”它的内容,人们可能会认为这是要走的路。

不过话又说回来,在fs.access()文档深入讨论了为什么这是一个坏主意,太:

使用fs.access()调用fs.open()之前检查文件的可访问性,fs.readFile()或不推荐fs.writeFile()。这样做引入了竞争条件,因为其他进程可能会改变两个电话之间的文件的状态。相反,用户代码应打开/读/直接将文件编写和处理错误提出,如果该文件是不可访问。

Yadda内容非常重要,目前已经有些相关问题(here,或here),但有关于这不超过两岁的“最佳实践”的任何官方信息?

回答如下:

正确的方法,但我不认为节点支持它,是打开的目录获得dirfd。这是只开放应使用,然后faccess或FSTAT可以在dirfd或fd被调用。然后,如果目录的开放获得成功以后,使用了openat与dirfd打开文件。

我写了使用fs.createReadStream和处理的错误,如果路径不是文件的HTTP服务器。它也可用于暂停和恢复,以便能够在打开的文件使用FSTAT前的数据流开始管的响应。

发布评论

评论列表 (0)

  1. 暂无评论