這樣做(相對簡單)的代碼時,我得到這個錯誤:java.util.zip.ZipException:無效CEN頭(錯誤簽名)
ZipFile zf = new ZipFile(fn);
Enumeration<? extends ZipEntry> eze = zf.entries();
while (eze.hasMoreElements()) {
ZipEntry ze = eze.nextElement();
System.out.println(ze.getName());
}
zf.close();
其實。有趣的是,我在java-sun-6u32和java-1.6.0-openjdk-amd64上得到它,但java-sun-7u4成功。解壓縮本身似乎處理得很好。我猜這意味着這些zip文件可能是由java 7可以理解的一些更新版本的zip創建的,但以前的版本不能。但是,任何見解,將不勝感激。此外,由於在生產中我沒有真正選擇使用java 7,所以使java的早期版本能夠理解這個新版本的zip(如果實際上是當然是什麼問題)。
謝謝!您的評論提供
你能提供zip樣品嗎? –
*嘆息*,不幸的是,我不能..有問題的文件是巨大的(707 megs),我不生產它們。 – bnsh
嗯..但是:我可以做7z l -slt whatever.zip並且得到 ' 7-Zip [64] 9.20 Copyright(c)1999-2010 Igor Pavlov 2010-11-18 p7zip版本9.20(locale = en_US .UTF-8,UTF16 =開,HugeFiles =上,8個CPU) 清單歸檔:./081212j400-13_file1of3.zip - 路徑= ./081212j400-13_file1of3.zip 類型=拉鍊 64位= + 實際尺寸= 707951519 ' 嗯。我似乎不能正確地格式化。希望它仍然遇到壽。 – bnsh