Blackberry - программно распаковать / открыть zip файл - PullRequest
1 голос
/ 28 октября 2009

Я посмотрел онлайн со смешанными результатами, но есть ли способ программно извлечь файл zip на ББ? Очень базовое мое приложение будет отображать различные типы зашифрованных файлов, и эти файлы доставляются в виде zip-файла. Моя идея состояла в том, чтобы пользователь перешел к файлу на своей SDCard, выбрал его, и я извлек из файла то, что мне нужно, в виде потока. это возможно?

Ответы [ 2 ]

2 голосов
/ 28 октября 2009

Использование 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)
    {
    }
1 голос
/ 29 октября 2009

Всего две вещи:

  • В BB API есть только поддержка GZip и ZLib, и нет поддержки сжатия нескольких файлов, поэтому невозможно сжать несколько файлов и извлечь только один из них.
  • По моему опыту, такая функциональность будет работать на симуляторе, но на самом деле может привести к снижению производительности на реальном устройстве

См. Как извлечь данные из вложенного zip-файла в приложении Blackberry?

PS На самом деле вы можете реализовать собственный поток из нескольких записей и проанализировать его после распаковки, но это кажется бесполезным, если вы хотите, чтобы этот формат архива поддерживался в других приложениях.

...