读取gzip压缩包指定文本文件的内容

如题代码如下:

const fs = require('fs'); // 引入文件系统模块
const zlib = require('zlib'); // 引入zlib模块
// 要读取的压缩包路径
const zipFilePath = 'path/to/your/zipfile.zip';
// 要提取的文本文件名(不需要后缀)
const textFileName = 'example_text_file';
// 创建可写流对象,将解压后的数据输出到控制台或其他地方
const outputStream = process.stdout;
// 打开压缩包并进行解压操作
fs.createReadStream(zipFilePath)
.pipe(zlib.Unzip()) // 使用zlib.Unzip()函数解压缩
.on('entry', (entry) => {
	if (entry.fileName === `${textFileName}.txt`) { // 判断当前条目是否为指定的文本文件
		entry.pipe(outputStream); // 将该条目的内容输出到控制台
	} else {
		entry.autodrain(); // 丢弃非指定文本文件的条目
	}
})
.on('finish', () => {
	console.log(`已成功从${zipFilePath}中提取${textFileName}.txt文件的内容!`);
});
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注