如果我们想读取文件夹,我们可以:
const fs = require('fs')
let folderName = 'Any_folder_name'
fs.readdir(folderName,(err,files)=>{
if (err) throw err;
console.log(files)
// this is a files' name list in this folder
})
,但是返回值只是文件名列表。例如['README.md','src']
。
但是我想知道哪个是文件,哪个是文件夹。该怎么做?
我知道我们可以使用循环访问此列表,并使用fs.stats
确认哪个是文件夹。
但是我想知道是否有更有效的方法来做到这一点?
答案 0 :(得分:1)
您可以使用{withFileTypes: true}
选项,结果将包含fs.Dirent个对象。
尝试:
fs.readdir(folderName, {withFileTypes: true}, (err, files) => {
if (err) throw err;
files.forEach(file => {
console.log(file.isDirectory());
});
})
答案 1 :(得分:0)
在 files 字符串数组中,您无法找到文件扩展名并确定该扩展名。