2009-11-18 153 views
3

我正在開發一個BlackBerry應用程序,我需要解壓縮使用PKZIP壓縮的zip文件。該軟件包可以包含一個文件,也可以有10個文件;它會在每種情況下有所不同。我知道BlackBerry API對GZip和Zlib有原生支持,但我確信這些方法對我來說不會有幫助。它看起來不像我可以使用這些調用來提取單個文件。BlackBerry - 解壓縮Zip文件

我試過JZlib(http://www.jcraft.com/jzlib/),它編譯得很好,但它看起來好像其中包含的方法不會讓我拉取單個文件。

看起來好像這是可能的,因爲有一個稱爲Ziplorer(http://www.s4bb.com/software/ziplorer/)的應用程序聲稱可以執行此確切過程。然而,他們如何做,逃避了我。

所以在這裏,我在谷歌搜索後數小時。我很開放的懷抱歡迎任何對我的問題的深入瞭解。

+0

您是否考慮過使用gnu或開源許可資源釋放您的應用程序(我假設)獲利的許可問題? – 2009-11-18 19:57:04

+0

該應用程序實際上是免費的,所以我不相信會有任何許可問題。 – harrywynn 2009-11-19 16:28:43

回答

0

「zip」算法通常是Lempel-Ziv-Welch算法的旁枝。它們是一種相當有效的流壓縮算法,但是由於它們的功能如何,您無法開始在文件中的隨機點進行解壓縮,您必須從頭開始。

聲稱能夠從zip解壓縮一個文件的任何產品仍然需要解壓zip文件中的所有文件才能知道如何解密給定文件,或者甚至在文件的位置在檔案中。

+0

雖然這是真的,但這不是對原始海報問題的回答。有許多zipfile API /庫可以從檔案中檢索單個文件,例如Python的zipfile庫。簡而言之,您可以通過從一開始就開始,解碼並丟棄任何不是您想要的文件的方法來完成。 – 2010-06-22 13:00:24