gpt4 book ai didi

node.js - 获取目录 node-fs 中包含信息(名称、类型、大小)的所有文件

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:11 24 4
gpt4 key购买 nike

我有一个路线到我想要阅读的位置

var route = ('F:\\uploads\\ponys');

使用 var rez = fs.readdirSync(route, 'utf8'); 它返回路由内所有文件(和文件夹)的数组。

console.log(rez);
[ 'file.rtf',
'Course.rtf',
'extra.png',
'ar102.rar',
'New folder']

我想返回一个包含名称、类型和大小的 JSON 对象。我如何才能继续获得这个:

{
"files":[
{"name": "file", "type": "rtf", "size": 3445}, [or with "."(.rtf)]
{"name": "Course", "type": "rtf", "size": 900},
{"name": "extra", "type": "png", "size": 2424},
{"name": "ar102", "type": "rar", "size": 340432},
{"name": "New folder", "type": "", "size": 123456789}
]
}

最佳答案

对于目录中的每个文件,您尝试获取 3 个值:

  1. 文件名:已通过 readdirSync 获取)
  2. 文件扩展名:使用path.extname(filename)
  3. 文件大小:使用fs.statSync(filename).size

1。获取文件扩展名示例

const path = require('path');
const extension = path.extname('index.html');
// 'html'

2。获取文件大小示例

const fs = require('fs');
const fileSizeInBytes = fs.statSync('file.html').size;

3。完整方法

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

const getFileInfoFromFolder = (route) => {
const files = fs.readdirSync(route, 'utf8');
const response = [];
for (let file of files) {
const extension = path.extname(file);
const fileSizeInBytes = fs.statSync(route + file).size;
response.push({ name: file, extension, fileSizeInBytes });
}
return response;
}

const { name, extension, fileSizeInBytes } = getFileInfoFromFolder("...")

关于node.js - 获取目录 node-fs 中包含信息(名称、类型、大小)的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38539064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com