使用fs.readdirSync来检查目录下是否有文件
时间: 2024-02-05 20:02:24 浏览: 18
可以使用 `fs.readdirSync` 来检查目录下是否有文件。以下是一个检查指定目录下是否有文件的示例代码:
```javascript
const fs = require('fs');
function checkIfDirectoryHasFiles(dirPath) {
try {
const files = fs.readdirSync(dirPath);
return files.length > 0;
} catch (err) {
console.error(err);
return false;
}
}
const dirPath = '/path/to/directory';
const hasFiles = checkIfDirectoryHasFiles(dirPath);
console.log(`The directory ${dirPath} ${hasFiles ? 'has' : 'does not have'} any files.`);
```
在上面的代码中,`checkIfDirectoryHasFiles` 函数接收一个目录路径作为参数,然后使用 `fs.readdirSync` 同步读取该目录下的所有文件和子目录。如果读取成功并且该目录下有文件,则返回 `true`;否则返回 `false`。如果读取目录操作发生错误,则将错误对象打印到控制台并返回 `false`。
最后,我们定义了一个 `dirPath` 变量,将其设置为要检查的目录路径,并调用 `checkIfDirectoryHasFiles` 函数来检查该目录是否有文件。最后打印出检查结果。
需要注意的是,由于 `fs.readdirSync` 是同步操作,因此如果目录下的文件很多,程序会停留在当前代码行一段时间。如果检查大量文件,建议使用 `fs.readdir` 异步操作。