2017-04-06 79 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