使用nodejs优雅的解压zip文件

本文介绍了如何使用node-stream-zip库来优雅地解压ZIP文件,该库支持非标准格式的ZIP文件,包括APK,并提供同步和异步方法。内容包括安装、打开ZIP文件、列举文件列表、读取和解压文件等操作,以及相关的方法介绍。
摘要由CSDN通过智能技术生成

node-stream-zip库是一款非常棒的zip文件压缩库,使用方便,能解压非标准格式的ZIP文件,经过对比,使用起来比
hzip,unzipper,zip-local等库要方便很多,并且支持同步方法和异步方法。并且和adm-zip一样,支持解压制定文件和目录,adm-zip不能解压非标准的zip文件,例如APK文件。

功能特性

不加载整个文档到内存,内容按块读取

支持大文件

非阻塞读取,没有同步输入/输出

快速初始化

无依赖关系,没有二进制插件

内置zlib模块解压缩

deflate,deflate64,sfx,macosx / windows 内置档案支持

ZIP64支持

使用方法

安装

npm install node-stream-zip

打开ZIP文件

const StreamZip = require('node-stream-zip');
const zip = new StreamZip({
   
    file: 'archive.zip',
    storeEntries: true
});
// 报错提示
zip.on('error', err => {
    /*...*/ });

可用参数:

storeEntries: 默认为 true 允许使用您zip存档中的条目,否则需要使用条目事件
skipEntryNameValidation:默认为 true 是否检查非法字符路径, 例如…/ 或 c:\123。

列出文件列表

zip.on('ready', () => {
   
    console.log('Entries read: ' + zip.entriesCount);
    for (const entry of Object.values(zip.entries
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值