You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用zip4j读取分卷ZIP文件时抛出ZipException异常

关于zip4j支持7zip创建的分卷ZIP文件的问题解答

核心结论

zip4j 2.11.5支持PKZIP标准的分卷ZIP文件,但不支持7zip默认创建的非PKZIP格式分卷文件,这是你触发异常的根本原因。

报错原因分析

你通过7zip生成的10MB分卷ZIP,大概率是7zip专属的分卷格式(而非PKZIP标准),这类文件的头部结构不符合zip4j的识别逻辑,因此调用isSplitArchive()时会抛出「Zip headers not found. Probably not a zip file」异常。

PKZIP标准分卷的典型特征是:最后一个分卷文件通常以.zip或.z结尾(比如test.zip.001对应收尾文件test.zip),而7zip创建的ZIP分卷往往没有这类收尾文件,或内部头部标识与PKZIP标准不符。

解决方案

  • 重新生成兼容分卷:使用7zip压缩时,选择「ZIP」格式,在分卷设置中明确选择PKZIP兼容的分卷模式(部分7zip版本需避免勾选“自提取分卷”,确保生成标准PKZIP分卷)。生成后可通过Windows自带解压工具验证,能正常解压则格式合规,此时zip4j可正常识别。
  • 换用适配工具:若无法重新生成分卷,可考虑使用SevenZipJBinding这类专门适配7zip格式的Java库处理该分卷文件。
  • 验证文件格式:尝试用系统自带ZIP解压工具打开分卷,若报错则说明确实是非PKZIP格式,需重新生成。

代码说明

你的代码本身无逻辑问题,只要使用标准PKZIP分卷文件,调用splitZip1.isSplitArchive()会返回true,可正常执行后续操作。

内容的提问来源于stack exchange,提问作者Diliban B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 21:42:03