fs.Dir
2024年10月14日
fs.Dir 类 表示目录流的类。
创建fs.Dir
类
-
方式一、通过
fs.opendir()
创建const Fs = require("fs");
Fs.opendir(
"./test/",
{
encoding: "utf8",
},
(error, dir) => {
if (error) {
console.log(error);
}
console.log(dir);
}
); -
方式二、通过
fs.opendirSync()
创建const dir = Fs.opendirSync("./test/", {
encoding: "utf8",
});
console.log(dir); -
方式三、通过
fsPromises.opendir()
创建async function getDir() {
const dir = await Fs.promises.opendir("./test", {
encoding: "utf8",
});
console.log(dir);
}
console.log(getDir());
使用fs.Dir
类
-
方式一: 异步迭代遍历: 当使用异步迭代器时,fs.Dir 对象将在迭代器退出后自动关闭。
for await (const dirent of dir) {
console.log(dirent);
}
fs.Dir
属性
-
dir.path
- 作用: 提供给 fs.opendir()、fs.opendirSync() 或 fsPromises.opendir() 的此目录的只读路径。
- 类型: string
-
dir[Symbol.asyncIterator]()
- 作用: 异步地遍历目录,直到读取了所有条目。
- 返回值: 返回: AsyncIterator fs.Dirent 的
fs.Dir
方法
-
dir.close()
- 作用: 异步地关闭目录的底层资源句柄。 后续读取将导致错误。
- 返回值: 返回Promise
-
dir.close((error)=>)
- 作用: 异步地关闭目录的底层资源句柄。 后续读取将导致错误。资源句柄关闭后将调用 callback。
-
dir.closeSync()
- 作用: 同步地关闭目录的底层资源句柄。 后续读取将导致错误。
-
dir.reaad()
- 作用: 通过 readdir 异步地读取下一个目录条目作为 fs.Dirent
- 返回值: 返回 promise,其将使用 fs.Dirent 或 null(如果读取不到更多的目录条目)解决。
-
dir.read((error,dirent)=>)
- 作用: 通过 readdir 异步地读取下一个目录条目作为 fs.Dirent 。读取完成后,将使用 fs.Dirent 或 null(如果读取不到更多的目录条目)调用 callback。
-
dir.readSync()
- 作用: 同步地读取下一个目录条目作为 fs.Dirent。