跳到主要内容

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。

参考资料


Node.js 中文网