添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

我有一个大的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

我有一个大的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.Zi... 问题来源是我做的一个 文件 导出功能 java 创建 zip 文件 ,结果在我的电脑上能够打开,在同事的mac或者未安装360压缩的电脑上打不开,然后我就分析应该是代码创建的这个 文件 有问题,可能360压缩做了某种处理,其他没做处理的打不开。 1.检查程序输出流是否关闭 2.流的关闭顺序是否正确 这里有两个问题 1.先开的流应该后关 2.流要在调用它之前的地方进行关闭,我是调用了 byteOutputStream.toByteArray(); 之后才关闭,所以 有问题
热修复一般用于版本发布之后无需版本更新而实现代码逻辑修复,AndFix作为阿里的Android热修复开源框架具有立即生效 但同时其资源 文件 不可作为修复对象,官方地址 使用方法非常简单 Initialize PatchManager patchManager = new PatchManager(context); patchManager.init(appversion);//current version Load patch patchManager.loadPatch(); read zip = zip file. Zip File(path, ‘r’) 2,获取压缩包内的全部 文件 (返回 文件 /夹 list结构) listname = read zip .namelist() 例如,压缩包(Z)内的 文件 结构为: 文件 夹A:( 文件 夹内 文件 有) a1、b1、c1…… 文件 夹B:( 文件 夹内 文件 有) a2、2b、c2…… 文件 夹C:( 文件 夹内 文件 有) a3、b3、c3…… 则 listname 列表 文件 如下(严格按如下顺序): A, A/a1, A/b1, A/c1, B,