📜  node js 获取目录中的文件 - Javascript (1)

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

Node.js 获取目录中的文件 - JavaScript

在 Node.js 中,你可以使用 fs 模块来获取目录中的文件列表。fs 模块是 Node.js 内置的文件系统模块,允许你与文件系统进行交互。

首先,我们需要通过以下代码导入 fs 模块:

const fs = require('fs');

然后,我们可以使用 fs.readdir 方法来获取指定目录中的文件列表。该方法接受两个参数:要读取的目录路径和一个回调函数。回调函数的第一个参数是可能出现的错误信息,第二个参数是文件列表数组。

以下是一个获取目录中文件列表的示例:

const fs = require('fs');

const directoryPath = './path/to/directory';

fs.readdir(directoryPath, (err, files) => {
  if (err) {
    console.log('Unable to scan directory: ' + err);
    return;
  }

  files.forEach(file => {
    console.log(file);
  });
});

在上面的代码中,将 './path/to/directory' 替换为你要读取的目录路径。readdir 方法会异步地扫描指定目录,并将文件列表作为回调函数的参数返回。我们使用 forEach 方法遍历文件列表并打印出每个文件名。

你还可以使用同步方式来获取目录中的文件列表。fs.readdirSync 方法具有与 fs.readdir 相同的语法,但会在同步模式下执行,并直接返回文件列表数组。这是一个同步版本的示例:

const fs = require('fs');

const directoryPath = './path/to/directory';

try {
  const files = fs.readdirSync(directoryPath);
  files.forEach(file => {
    console.log(file);
  });
} catch (err) {
  console.log('Unable to scan directory: ' + err);
}

请注意,在同步模式下执行文件系统操作可能会阻塞 Node.js 的事件循环。因此,如果你在处理大量文件或需要处理其他异步任务时,建议使用异步方式。

希望这个介绍能够帮助你在 Node.js 中获取目录中的文件列表。如果你需要更多关于 Node.js 文件系统操作的信息,请参考 Node.js fs 文档