📅  最后修改于: 2023-12-03 15:38:50.772000             🧑  作者: Mango
在 Node.js 中,您可以使用 fs
模块中的 stat
函数来检查给定路径是文件还是目录。以下是一个示例:
const fs = require('fs');
fs.stat(path, (err, stats) => {
if (err) {
console.error(err);
return;
}
if (stats.isFile()) {
console.log(`${path} is a file`);
} else if (stats.isDirectory()) {
console.log(`${path} is a directory`);
} else {
console.log(`${path} is neither a file nor a directory`);
}
});
在上面的代码中,我们使用 fs
模块的 stat
函数来获取给定路径的文件信息。如果路径不存在,stat
函数将返回一个错误。如果给定路径是一个文件,我们可以使用 stats.isFile()
方法来检查。如果给定路径是一个目录,我们可以使用 stats.isDirectory()
方法。如果给定路径既不是文件也不是目录,我们将输出一条相应的消息。
注意,stat
函数是一个异步函数,需要使用回调函数来处理返回结果。如果想要使用同步函数,可以使用 fs.statSync
函数。
const fs = require('fs');
try {
const stats = fs.statSync(path);
if (stats.isFile()) {
console.log(`${path} is a file`);
} else if (stats.isDirectory()) {
console.log(`${path} is a directory`);
} else {
console.log(`${path} is neither a file nor a directory`);
}
} catch (err) {
console.error(err);
return;
}
上面的代码将产生相同的结果,但是它使用了同步函数,不需要使用回调函数进行处理。
总之,使用 fs
模块中的 stat
函数可以轻松检查给定路径是文件还是目录,这对于 Node.js 开发非常有用。