Node.js: 实现遍历文件夹下所有文件

狂野之心 2024-07-18 ⋅ 54 阅读

引言

在开发过程中,我们经常需要遍历文件夹下的所有文件,以便进行文件操作、统计等操作。Node.js 提供了一种简便的方式来实现这个功能。本文将介绍如何使用 Node.js 遍历文件夹下的所有文件,并提供代码示例。

实现步骤

步骤一:导入必要的模块

首先,我们需要导入 Node.js 的 fs 模块和 path 模块,它们分别用于文件系统操作和路径处理。

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

步骤二:编写递归函数

接下来,我们需要编写一个递归函数来遍历文件夹下的所有文件。该函数将接收文件夹路径作为参数,并返回一个包含所有文件路径的数组。

function walkDir(dirPath) {
  let files = [];

  fs.readdirSync(dirPath).forEach(file => {
    const filePath = path.join(dirPath, file);
    const fileStat = fs.statSync(filePath);

    if (fileStat.isDirectory()) {
      // 递归遍历子文件夹
      files = files.concat(walkDir(filePath));
    } else if (fileStat.isFile()) {
      // 添加文件路径到数组
      files.push(filePath);
    }
  });

  return files;
}

步骤三:调用递归函数

我们可以通过调用递归函数来遍历指定文件夹下的所有文件。以下示例代码将遍历 ./files 文件夹,并将所有文件路径打印到控制台。

const folderPath = './files';

const files = walkDir(folderPath);

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

总结

本文介绍了如何使用 Node.js 遍历文件夹下的所有文件。通过导入 fs 模块和 path 模块,编写递归函数,以及调用该函数,我们可以轻松地获取指定文件夹下的所有文件路径。这对于文件操作、统计等需求非常有用。

希望本文对你有所帮助。如有任何问题或建议,欢迎留言交流!


全部评论: 0

    我有话说: