我試圖打開一些.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