2011-03-18 23 views
0

任何人都知道如何處理使用SHRINK算法生成的ZIP文件?標準的Java ZIP功能似乎不支持這種功能。在Java中處理使用SHRINK算法的ZIP內容

我們收到來自上游系統(令人驚訝地)使用SHRINK壓縮的ZIP文件。這似乎來自舊的基於大型機的ZIP編碼器,不能輕易修改以使用更現代的東西。

+0

它看起來像* Info Zip *支持這個,所以你可以看看[它的源代碼](http://sourceforge.net/projects/infozip/files/UnZip%206.x%20(latest)/ UnZip%206.0 /)並將其移植到Java或通過命令行調用該程序。只有當我們沒有找到Java實現時。 – 2011-03-18 14:28:25

+0

從某處移出縮小算法本身不會解決問題。由於Java Zip庫不提供任何方法來掛鉤額外的算法,因此我幾乎需要移植整個InfoZip庫以使ZipInputStream支持縮小。 =( – 2011-03-18 15:55:51

+0

是的,沒錯: -/.java在內部使用* zlib *,並且這隻支持'DEFLATE',不幸的是。 – 2011-03-18 16:10:51

回答

0

爲了接受答案,聽起來好像不可能直接在Java中進行操作,而無需移植代碼或創建JNI圖層來打擊可處理此操作的本機庫。