node递归读取目录,并依次输出文件类型的绝对地址
时间: 2024-05-08 16:15:19 浏览: 13
以下是一个使用Node.js递归读取目录,并依次输出文件类型的绝对地址的示例代码:
```javascript
const fs = require('fs');
const path = require('path');
function readDirRecursive(dirPath, fileType) {
fs.readdir(dirPath, (err, files) => {
if (err) {
console.error(err);
return;
}
files.forEach(file => {
const filePath = path.join(dirPath, file);
fs.stat(filePath, (err, stats) => {
if (err) {
console.error(err);
return;
}
if (stats.isDirectory()) {
readDirRecursive(filePath, fileType);
} else if (stats.isFile() && path.extname(filePath) === `.${fileType}`) {
console.log(filePath);
}
});
});
});
}
// example usage
readDirRecursive('/path/to/directory', 'txt');
```
这个示例代码定义了一个名为`readDirRecursive`的函数,该函数接受两个参数:目录路径和文件类型。它通过`fs.readdir`函数读取目录中的所有文件和子目录,并对于每个文件和子目录,使用`fs.stat`函数获取其详细信息。如果是一个目录,则递归调用`readDirRecursive`函数,如果是指定的文件类型,则输出其绝对地址。最后,我们可以像上面的例子一样调用`readDirRecursive`函数来读取目录并输出指定文件类型的绝对地址。