Nodejs读取目录下面的文件
需求:给定一个目录,读取该目录下面的所有文件,包括该目录下面文件夹里面的子文件,子子文件......
const fs = require('fs');
const path = require('path');
// 指定要遍历的目录
const directoryPath = 'D:\\';
//调用函数入口处
readDir(directoryPath);
//实现一个递归调用的函数
function readDir(directoryPath) {
// 读取目录
fs.readdir(directoryPath, (err, files) => {
// console.log('directoryPath:------------', directoryPath);
if (err) {
return console.log('Unable to scan directory: ' + err);
}
files.forEach(file => {
// 构造完整的文件路径
const fullPath = path.join(directoryPath, file);
// 读取文件状态以判断是文件还是目录
fs.stat(fullPath, (err, stats) => {
if (err) {
console.log('Error stating file:', err);
return;
}
if (stats.isDirectory()) {
console.log(fullPath + ' is a directory');
// 如果是目录,可以选择递归调用或者根据需要处理
readDir(fullPath);
} else {
console.log(fullPath + ' is a file');
}
});
});
});
}