21xrx.com
2024-11-05 20:45:10 Tuesday
登录
文章检索 我的文章 写文章
Node.js 如何获取文件大小?
2023-07-06 18:13:30 深夜i     --     --
Node js 文件 大小

Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,广泛应用于服务器端的开发工作。在 Node.js 开发中,往往需要获取文件的大小来做一些判断或操作,那么该如何获取文件大小呢?下面给出三种方法。

方法一:使用 fs.stat() 方法

Node.js 中的 fs 模块提供了文件系统操作的相关方法,其中 fs.stat() 可以获取一个文件的元数据(包括文件大小),其返回结果是一个对象。示例如下:


const fs = require('fs');

const path = 'test.txt'; // 文件路径

fs.stat(path, (err, stats) => {

 if (err) {

  console.error(err);

  return;

 }

 console.log(stats.size); // 文件大小,单位为字节

});

方法二:使用 fs.readFileSync() 方法

fs.readFileSync() 方法可以同步读取一个文件的内容,其返回结果是一个 Buffer 类型的对象,可以通过该对象的 length 属性获取文件大小。示例如下:


const fs = require('fs');

const path = 'test.txt'; // 文件路径

const buffer = fs.readFileSync(path);

console.log(buffer.length); // 文件大小,单位为字节

方法三:使用 fs.createReadStream() 方法

fs.createReadStream() 方法可以创建一个可读流对象,其可以读取一个文件的内容并且可以监听读取过程中的一些事件(如 data、end、error 等),在读取文件过程中统计文件大小即可。示例如下:


const fs = require('fs');

const path = 'test.txt'; // 文件路径

const rs = fs.createReadStream(path);

let size = 0;

rs.on('data', (chunk) => {

 size += chunk.length;

});

rs.on('end', () => {

 console.log(size); // 文件大小,单位为字节

});

rs.on('error', (err) => {

 console.error(err);

});

综上,以上三种方法都可以用于获取 Node.js 中的文件大小,开发者可以根据实际场景选择使用。需要注意的是,获取文件大小单位为字节,如需转换为其他单位(如 KB、MB 等),则需要进行相应的换算。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复