我试图打开一些.jar archieve并从中获取文件。 我现在得到:获取jar内容
- 据我所知
.jar==.zip
,所以我用7zip的。它打开我的jar,并说标头破碎仍然成功提取。 我用标准的Oracle JDK实用
jar tvf my.jar
并得到了这一点:
java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:219) at java.util.zip.ZipFile.<init>(ZipFile.java:149) at java.util.zip.ZipFile.<init>(ZipFile.java:120) at sun.tools.jar.Main.list(Main.java:1115) at sun.tools.jar.Main.run(Main.java:293) at sun.tools.jar.Main.main(Main.java:1288)
我在网上搜索,发现PowerGREP5工具打开这个罐子。
罐子 archieve从父提取.ZIP archieve,即有有效的CRC和解压的没有任何错误
问题就在这里:
内容,我从了7zip 与PowerGREP完全不同。请帮我理解这是怎么发生的。
的Java只支持deflate和STORE压缩方法。该文件可能使用其他压缩方法,或者实际上不是ZIP文件,或者是损坏的(又名“破碎”)。 – Andreas
@Andreas,我怎么知道使用哪种压缩方法?为什么从7z和powerGREP获得的内容有所不同? – Jin