Node.js 如何读取目录并知道文件类型?
如果要读取文件夹,我们可以:Node.js 如何读取目录并知道文件类型?,node.js,fs,Node.js,Fs,如果要读取文件夹,我们可以: 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
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
来确认哪个是文件夹
但我想知道是否有更有效的方法来做到这一点 您可以使用
{withFileTypes:true}
选项,结果将包含对象
尝试:
在文件字符串数组中,您不能查找文件扩展名并确定它。NodeJS版本吗?您可以使用
{withFileTypes:true}
选项,结果将包含对象。如果node>=10.0.0
@AyushGupta 8.7.0,问题由另一个commentOP解决,则询问,但我想知道哪个是文件,哪个是文件夹。
某些文件的扩展名可能为空。此外,某些文件夹的名称中可能有
。正确的观点@saltfish,在使用ihor提供的解决方案并回答性能问题后,您能告诉我它是否比使用stats更有效。
fs.readdir(folderName, {withFileTypes: true}, (err, files) => {
if (err) throw err;
files.forEach(file => {
console.log(file.isDirectory());
});
})