2009-10-28 58 views
1

我在网上看到了混合结果,但是有没有一种方法可以在BB上以编程方式提取zip文件?非常基本的我的应用程序将显示不同的加密文件类型,并且这些文件以压缩文件形式提供。我的想法是让用户浏览SDCard上的文件,选择它,然后从文件中提取我需要的流。这可能吗?Blackberry - 以编程方式提取/打开zip文件

回答

2

使用GZIPInputStream

例子:

try 
    { 
     InputStream inputStream = httpConnection.openInputStream(); 
     GZIPInputStream gzis = new GZIPInputStream(inputStream); 
     StringBuffer sb = new StringBuffer(); 

     char c; 
     while ((c = (char)gzis.read()) != -1) 
     { 
      sb.append(c); 
     } 

     String data = sb.toString(); 

     gzis.close(); 
    } 
    catch(IOException ioe) 
    { 
    } 
+0

感谢您的代码示例。我会试一试。仍收集想法和研究,但这段代码看起来类似于我使用Java 1.5的windows/mac应用程序(仅在BB中使用ZipEntry和ZipFile类) – KKlucznik 2009-10-28 19:52:27

1

只是两件事情:

  • 在BB API也有只gzip和支持zlib,没有多个文件压缩的​​支持,所以它不是可能压缩几个文件并只提取其中的一个。
  • 了我的经验,这样的功能将飞行模拟器上,但可能是真实设备上真正性能杀害

How to retrieve data from a attached zip file in Blackberry application?

PS其实你可以自定义实现多项目流和解压缩后解析它,但这似乎是无用的,如果你想在其他应用程序中支持这种存档格式。

+0

感谢您的信息。我不知道它只支持这些类型,并且看着它们,你是绝对正确的。无法提取一个文件,效率非常低。你知道任何可以添加到BB应用程序来执行此类提取的第三方库吗? – KKlucznik 2009-10-29 15:18:23

+0

欢迎您!我没有听说过替代品。我建议你搜索j2me压缩库,首选开源。 – 2009-10-29 15:22:00