如何读取目录并知道文件类型?

时间:2019-01-09 11:46:35

标签: 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']

但是我想知道哪个是文件,哪个是文件夹。该怎么做?

我知道我们可以使用循环访问此列表,并使用fs.stats确认哪个是文件夹。

但是我想知道是否有更有效的方法来做到这一点?

2 个答案:

答案 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 字符串数组中,您无法找到文件扩展名并确定该扩展名。