我正在开发一个BlackBerry应用程序,我需要解压缩用PKZIP压缩的zip文件。包可以有一个文件,也可以有10个;每种情况都会有所不同。我知道BlackBerry API本身支持GZip和Zlib,虽然我很确定这些方法在我的情况下不会有用。看起来我不能使用这些调用提取单个文件。
我已经尝试了JZlib(http://www.jcraft.com/jzlib/),它编译得很好,但同样看起来不像其中包含的方法允许我提取单个文件。
似乎这是可能的,因为有一个名为Ziplorer(http://www.s4bb.com/software/ziplorer/)的应用程序声称执行此确切的过程。然而,他们如何做到这一点却让我感到安心。
所以在这里,我用谷歌搜索了几个小时。我张开双臂欢迎任何洞察我的问题。
答案 0 :(得分:0)
“zip”算法通常是Lempel-Ziv-Welch算法的分支。它们是一种相当有效的流压缩算法,但由于它们的运行方式,你不能在文件中的随机点开始解压缩,你必须从头开始。
声称能够从zip解压缩一个文件的任何产品仍然必须解压缩zip文件中的所有内容,以便知道如何解密给定文件,或者甚至,就此而言,文件所在的位置在档案中。
答案 1 :(得分:0)
如果您可以在您的应用程序中容忍GPL代码,那么此库http://jazzme.sourceforge.net/可能会起作用。然而,项目(及其父项目http://sourceforge.net/projects/jazzlib/)看起来并不像是在开发。