📜  Node.js fs.opendir() 方法(1)

📅  最后修改于: 2023-12-03 15:33:08.967000             🧑  作者: Mango

Node.js fs.opendir() 方法

Node.js fs.opendir() 方法是在 v12.12.0 引入的,用于打开一个目录并返回一个 Directory 对象,可以用于在目录中读取文件信息。

语法
fs.opendir(path[, options], callback);

参数:

  • path:要打开的目录的路径。
  • options:一个可选的对象,包含一个 bufferSize 属性表示读取目录条目时缓存的字节数,默认为 32KB。
  • callback:一个回调函数,用于处理打开目录的结果。

回调函数的参数:

  • err:如果打开目录遇到错误,则该参数为一个 Error 对象。
  • dir:如果打开目录成功,则该参数为一个 Directory 对象。
示例

以下示例演示了如何使用 fs.opendir() 方法来打开目录并读取其内容:

const fs = require('fs');

fs.opendir('./myDir', (err, dir) => {
  if (err) throw err;

  console.log(`Directory "${dir.path}" opened successfully.`);

  dir.read((err, dirent) => {
    if (err) throw err;

    console.log(`Dirent "${dirent.name}" is a ${dirent.isDirectory() ? 'directory' : 'file'}.`);

    dir.close((err) => {
      if (err) throw err;
      console.log(`Directory "${dir.path}" closed successfully.`);
    });
  });
});

代码说明:

  1. 首先使用 fs.opendir() 方法打开一个名为 myDir 的目录。

  2. 如果打开目录成功,则打印一条成功信息。

  3. 使用 dir.read() 方法来读取目录中的一个条目。如果这个条目是目录,则打印相应信息。

  4. 最后使用 dir.close() 方法关闭目录。如果关闭成功,则打印相应信息。

参考链接