fs.Dir 类目录流

2021-03-10  本文已影响0人  静昕妈妈芦培培

fs.Dir 类#

表示目录流的类。

fs.opendir()fs.opendirSync()fsPromises.opendir() 创建。

例:打开目录assets并读取目录中的每一项,判断每一项是目录还是文件


image.png
const fs = require('fs')

fs.opendir('./assets', (err,dir) => {
    //fs.opendir创建一个 fs.Dir(目录流),其中包含所有用于更进一步读取和清理目录的的函数
    console.log('当前打开的文件路径是:' + dir.path)
    let dirent;

    // dir.readSync()同步地读取dir中下一个目录项,读取成功,返回当前目录项,当没有可读取的目录项时返回null
    while(dirent = dir.readSync()) {
        console.log(dirent)
        if(dirent.isFile()) {
            console.log(`${dirent.name}是文件`)
        }
        if(dirent.isDirectory()) {
            console.log(`${dirent.name}是目录`)
        }

    }

    //异步地关闭目录的底层资源句柄
    dir.close(err => {
        if(err) {
            console.error(err)
            return
        }
        console.log('已关闭目录流')
    })
})

执行结果:


image.png
上一篇 下一篇

猜你喜欢

热点阅读