我在PHP中使用ZipArchive来创建存档。它在一年中最好的部分工作正常,但今天突然没有明显触发它停止正常工作。
存档似乎已成功创建,大小合适,并且没有提供任何错误或警告。在其上使用$ unzip archive.zip
似乎有效。但是,在我们的Java应用程序(已经工作了大约一年)中提取它失败了:
java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:240)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:163)
同样在创建档案时,ZipArchive :: close()大约需要10秒,之前是时刻。
编辑存档的大小碰巧比平常大(28MB而不是通常~15MB),这可能解释了ZipArchive :: close()的延迟,但不是Java不能解决的原因然后解压缩?