📜  Node.js fs.Dir.read() 方法(1)

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

Node.js fs.Dir.read() 方法

简介

Node.js fs.Dir.read() 方法用于从目录中读取文件。这个方法返回一个数组,包含读取到的每个文件名。需要注意的是,这个方法会加载整个目录结构,包括所有的子目录和文件。因此,如果需要读取大量的文件时,可能会导致性能问题。

语法

以下是 fs.Dir.read() 方法的语法:

fs.readdir(path[, options], callback)

参数说明:

  • path:字符串,指定要读取的目录路径。
  • options:对象,可选参数,用于设置读取目录时的选项。一般不需要设置。
  • callback:函数,用于处理读取到的文件列表。该函数有两个参数,第一个参数是错误对象,如果读取目录时发生错误,则会把错误对象作为第一个参数传递给该函数;第二个参数是数组,包含读取到的每个文件名。
示例

以下是一个示例程序,演示如何使用 fs.Dir.read() 方法读取目录中的文件:

const fs = require('fs');

fs.readdir('/path/to/dir', (err, files) => {
  if (err) {
    console.error(err);
    return;
  }

  // 打印出目录中的所有文件名
  files.forEach((file) => {
    console.log(file);
  });
});

在上面的代码中,我们使用 fs.readdir() 方法读取指定目录(/path/to/dir)下的所有文件,然后通过 forEach() 方法遍历文件列表,并打印出每个文件名。

注意事项
  • fs.Dir.read() 方法返回的列表只包含文件名,不包含路径信息。如果需要获取完整的文件路径,可以使用 path.join() 方法。
  • fs.Dir.read() 方法读取目录时,会忽略所有以._开头的文件和目录。如果需要读取这些文件或目录,可以使用 fs.readdirSync() 方法。
  • fs.Dir.read() 方法不会递归读取子目录中的文件。如果需要读取子目录中的文件,可以使用 recursive 选项或者 fs-extra 模块中的 readdirRecursive() 方法。