📅  最后修改于: 2023-12-03 15:12:27.148000             🧑  作者: Mango
在 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() 方法,否则打印出文件路径。
需要注意的是,这个代码没有考虑目录中可能存在子目录和隐藏文件的情况。如果你需要处理这些情况,需要进行一些额外的判断和过滤。此外,为了避免阻塞主线程,最好将遍历操作放在一个异步函数中进行。
以上就是遍历目录中的文件的介绍,希望能对你有所帮助!