Node js文件系统模块读取目录排除文件



我有一些Node JS javascript代码,可以读取目录中的文件夹,但它目前正在读取文件夹和文件,我只需要它来读取文件夹,但无法找出缺少什么:

router.get('/check', (req, res) => {
fs.readdir('./directory', function(err, files) {
if (err) {
res.status(500).send({ error: { status: 500, message: 'error' } })
return
}
console.log('success')
})
})

我想做一些类似files[0].length > X的事情,例如,只显示包含X个以上字符的名称,或者过滤掉文件扩展名等,理想情况下我只需要目录,因为我里面有一个.empty文件。

您可以检查文档中的引用。readdir()将返回目录的内容。您需要筛选文件夹或文件。您可以简单地调用并创建新的数组files.filter(fileName => fs.statSync(path + fileName).isFile()

参考

更新

给定的示例代码将把文件和文件夹过滤到单独的变量中。您可以在项目中实现。

const fs = require('fs');
const path = require('path');

const dir = fs.readdirSync(__dirname);
const folders = dir.filter(element => fs.statSync(path.join(__dirname, element)).isDirectory());
const files = dir.filter(element => fs.statSync(path.join(__dirname, element)).isFile);
console.log('folders', folders, 'files', files);

最新更新