📅  最后修改于: 2023-12-03 15:17:54.506000             🧑  作者: Mango
在 Node.js 中,我们经常需要在代码中访问文件系统,比如读取或写入文件。为了做到这一点,Node.js 提供了 fs
模块,其中包括了 fsPromises
对象,用于提供基于 Promise 的文件系统访问API。
其中,access()
方法用于检测文件或目录是否存在。有时候我们需要检测一个文件或目录是否存在,这时就可以使用 access()
方法在尝试打开文件或目录之前检查它是否存在。
fsPromises.access(path[, mode])
fs.constants.F_OK
。如果 access()
操作成功,则返回 undefined
。否则,将会抛出一个错误。
下面是一个使用 fsPromises.access()
方法检查文件是否存在的例子:
const fs = require('fs').promises;
const filePath = 'path/to/file.txt';
fs.access(filePath)
.then(() => {
console.log(`${filePath} 存在。`);
})
.catch((error) => {
console.log(`${filePath} 不存在。错误信息:${error}`);
});
在上面的代码中,我们首先加载 fs
模块,并设置了一个文件路径 filePath
。然后,我们使用 access()
方法检查文件是否存在。如果文件存在,则 access()
方法将返回一个 undefined
值,then()
方法中的代码即可得到执行。如果文件不存在,则 catch()
方法中的代码将会得到执行,并打印出错误信息。
需要注意的是,fsPromises.access()
方法属于 fsPromises
对象上的方法,因此我们需要在导入 fs
模块时,使用 .promises
来获取 fsPromises
对象。