2017-04-06 80 views
0

我試圖打開一些.jar archieve並從中獲取文件。 我現在得到:獲取jar內容

  1. 據我所知.jar==.zip,所以我用7zip的。它打開我的jar,並說標頭破碎仍然成功提取。
  2. 我用標準的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)

  3. 我在網上搜索,發現PowerGREP5工具打開這個罐子。

罐子 archieve從父提取.ZIP archieve,即有有效的CRC和解壓的沒有任何錯誤

問題就在這裏

內容,我從了7zip 與PowerGREP完全不同。請幫我理解這是怎麼發生的。

+0

的Java只支持deflate和STORE壓縮方法。該文件可能使用其他壓縮方法,或者實際上不是ZIP文件,或者是損壞的(又名「破碎」)。 – Andreas

+0

@Andreas,我怎麼知道使用哪種壓縮方法?爲什麼從7z和powerGREP獲得的內容有所不同? – Jin

回答

-1

你有小姐連字符( - )之前TVF,使用波紋管命令

jar -tvf my.jar 
+0

剛剛用 - 進行測試。得到完全相同的輸出,因爲我列出的問題 – Jin