我正在尝试用Java编写一个程序来解压缩大型机中PKZIP工具压缩的文件 . 但是,我尝试了以下3种方法,但没有一种能解决我的问题 .
- 由exe .
我试图通过WinRAR,7Zip和Linux命令(解压缩)打开它 . 所有都失败,出现以下错误消息:
存档格式未知或已损坏
- 由JDK API - java.util.ZipFile
我也试图通过JDK API解压缩它,如this website所述 . 但是,它失败并显示错误消息:
IO错误:java.util.zip.ZipException:打开zip文件时出错
_999_由Zip4J
我也尝试过使用Zip4J . 它也失败了,错误信息:
引起:java.io.IOException:net.lingala.zip4j.core.HeaderReader.readEndOfCentralDirectoryRecord(HeaderReader.java:117)中java.io.RandomAccessFile.seek(Native Method)的负搜索偏移量... 5更多
请问是否有任何java lib或linux命令可以解压缩大型机中PKZIP压缩的zip文件?非常感谢!
1 回答
我已成功读取在z / OS上使用PKZip压缩并传输到Linux的文件 . 我能用java.util.zip *类读取它们:
jar文件格式只是一个zip文件,因此“jar”命令也可以读取这些文件 .
和其他人一样,我怀疑文件可能没有以二进制形式传输,因此被破坏了 . 在Linux上,您可以使用xxd实用程序(通过管道传输)转储前几个字节以查看它是否看起来像一个zip文件:
前4个字节应如图所示 . 另见the Wikipedia entry for zip files
即使前4个字节是正确的,如果文件在传输过程中被截断,也可能导致损坏的文件消息 .