nodejs去读取某个文件夹下的所有文件,将文件信息存入数组,数组格式是[ { 文件名包括后缀,文件所在的相对路径,文件所在绝对路径,文件大小 } ]
时间: 2024-10-18 09:04:25 浏览: 28
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Node.js中可以使用`fs`模块和`path`模块来实现这个功能。首先,你需要导入这两个模块,然后遍历指定目录下的所有文件。下面是一个简单的示例:
```javascript
const fs = require('fs');
const path = require('path');
// 指定需要读取的文件夹路径
const folderPath = './your_folder_path';
function readFiles(dirPath) {
// 使用fs.readdir()获取目录下的所有文件和子目录名称
fs.readdir(dirPath, (err, files) => {
if (err) throw err;
// 筛选出仅包含文件的数组,忽略子目录
const filesArray = files.filter(item => !fs.lstatSync(path.join(dirPath, item)).isDirectory());
// 创建一个空数组存储文件信息
const fileInfos = [];
// 遍历文件,获取每个文件的信息
filesArray.forEach(file => {
const filePath = path.join(dirPath, file);
const fileInfo = {
name: `${file}`, // 文件名(含后缀)
relativePath: file,
absolutePath: filePath,
size: fs.statSync(filePath).size // 文件大小(字节)
};
fileInfos.push(fileInfo);
});
return fileInfos;
});
}
try {
const allFiles = readFiles(folderPath);
console.log(allFiles);
} catch (error) {
console.error('Error reading files:', error);
}
```
阅读全文