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