Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry-以编程方式提取/打开zip文件_Blackberry_Compression_Zip - Fatal编程技术网

Blackberry-以编程方式提取/打开zip文件

Blackberry-以编程方式提取/打开zip文件,blackberry,compression,zip,Blackberry,Compression,Zip,我在网上看到的结果好坏参半,但是有没有办法通过编程在BB上提取zip文件?非常基本的我的应用程序将显示不同的加密文件类型,这些文件以zip文件的形式交付。我的想法是让用户浏览到SD卡上的文件,选择它,然后我从文件中提取我需要的流。这可能吗?使用 例如: try { InputStream inputStream = httpConnection.openInputStream(); GZIPInputStream gzis = new GZIPIn

我在网上看到的结果好坏参半,但是有没有办法通过编程在BB上提取zip文件?非常基本的我的应用程序将显示不同的加密文件类型,这些文件以zip文件的形式交付。我的想法是让用户浏览到SD卡上的文件,选择它,然后我从文件中提取我需要的流。这可能吗?

使用

例如:

    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)
    {
    }
只有两件事:

  • 在BBAPI中,只有GZip和ZLib支持,并且不支持多文件压缩,因此不可能压缩多个文件并只提取其中一个文件
  • 根据我的经验,这样的功能将在模拟器上运行,但在真正的设备上可能真的会降低性能


PS实际上,您可以实现自定义多条目流,并在解压缩后对其进行解析,但如果您希望在其他应用程序中支持此存档格式,则这似乎是无用的。

感谢您提供的代码示例。我要试一试。仍在收集想法和研究,但这段代码看起来与我的使用Java1.5的windows/mac应用程序相似(只是BB中没有ZipEntry和ZipFile类可供使用),感谢您提供的信息。我不知道它只支持这些类型,仔细研究,你是绝对正确的。无法提取一个文件,效率将非常低。您知道有任何第三方库可以添加到BB应用程序以执行这种类型的提取吗?欢迎!我还没听说过别的选择。我建议您搜索j2me压缩库,最好是开源的。