java zip文件头信息_java – 读取ZIP文件会产生“无效的LOC标头”异常

我有一个大的zip文件,4.3G.它包含大约100k条目.

我在Linux上使用Java 1.6.0_14,Ubuntu 32位读取它,并获得以下异常.

java.util.zip.ZipException: invalid LOC header (bad signature)

at java.util.zip.ZipFile.read(Native Method)

at java.util.zip.ZipFile.access$1200(ZipFile.java:29)

at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:447)

at java.util.zip.ZipFile$1.fill(ZipFile.java:230)

at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)

at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)

at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)

at java.io.BufferedInputStream.read(BufferedInputStream.java:317)

at java.io.FilterInputStream.read(FilterInputStream.java:90)

我没有任何其他ZIP文件的问题(处理它们的代码非常成熟)我已经验证我可以使用’unzip’从命令行正确解压缩zip文件.

有线索吗?谢谢!

解决方法:

Zip文件大小超过4GB,要求zip文件阅读器支持PKWARE的ZIP64扩展.

在Java 6之前,这种支持在java.util.zip类中不可用,并且最近才被添加到Java 7中(不用说,在编写本文时,这不是GA版本).

参考:

标签:java,zip

来源: https://codeday.me/bug/20191002/1844548.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值