nodejs使用fs.stat判断__filename是文件吗
时间: 2024-09-18 19:04:12 浏览: 40
Node.js 中,`fs.stat()` 函数用于获取指定文件的信息,包括其大小、权限等属性。如果你想通过 `fs.stat` 判断给定的 `__filename` 是否是一个文件,你可以这样做:
```javascript
const fs = require('fs');
async function isFile() {
try {
const stats = await fs.stat(__filename);
return stats.isFile();
} catch (err) {
if (err.code === 'ENOENT') {
// 文件不存在
console.log(`${__filename} does not exist.`);
} else {
throw err;
}
}
}
isFile().then(result => {
if (result) {
console.log(`${__filename} is a file.`);
} else {
console.log(`${__filename} is not a file.`);
}
}).catch(console.error);
```
在这个例子中,我们首先尝试对 `__filename` 调用 `stat()`,如果返回的是一个文件信息对象 (`stats.isFile()` 为 `true`),则说明它是一个文件;如果文件不存在或者发生其他错误,则会捕获异常并处理。
阅读全文