📜  遍历目录中的文件 javascript (1)

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

遍历目录中的文件 JavaScript

在 JavaScript 中,我们可以使用 Node.js 提供的 fs 模块来遍历目录中的文件。我们可以使用 fs.readdir() 方法来获取目录中的所有文件名,然后使用循环遍历每个文件名,使用 fs.stat() 方法来获取文件的信息。

下面是一个示例代码,演示如何遍历目录中的文件,并打印出每个文件的名称和路径:

const fs = require('fs');
const path = require('path');

function readDir(dir) {
  fs.readdir(dir, (err, files) => {
    if (err) {
      console.error(err);
      return;
    }
    files.forEach((file) => {
      const filePath = path.join(dir, file);
      fs.stat(filePath, (err, stat) => {
        if (err) {
          console.error(err);
          return;
        }
        if (stat.isDirectory()) {
          readDir(filePath);
        } else {
          console.log(filePath);
        }
      });
    });
  });
}

readDir('/path/to/dir');

这个代码定义了一个 readDir() 函数,它接受一个目录路径,然后使用 fs.readdir() 方法读取目录中的所有文件名。然后使用 forEach() 方法遍历每个文件名,使用 path.join() 方法构建每个文件的完整路径。然后使用 fs.stat() 方法获取每个文件的信息,如果是目录则递归调用 readDir() 方法,否则打印出文件路径。

需要注意的是,这个代码没有考虑目录中可能存在子目录和隐藏文件的情况。如果你需要处理这些情况,需要进行一些额外的判断和过滤。此外,为了避免阻塞主线程,最好将遍历操作放在一个异步函数中进行。

以上就是遍历目录中的文件的介绍,希望能对你有所帮助!