BlackBerry - Распаковать Zip файл - PullRequest
3 голосов
/ 18 ноября 2009

Я разрабатываю приложение BlackBerry, в котором мне нужно распаковать zip-файл, сжатый с помощью PKZIP. В пакете может быть один файл или 10; это будет варьироваться в каждом конкретном случае. Я знаю, что BlackBerry API имеет встроенную поддержку GZip и Zlib, хотя я уверен, что эти методы не будут полезны в моем случае. Не похоже, что я могу извлечь отдельные файлы с помощью этих вызовов.

Я попробовал JZlib (http://www.jcraft.com/jzlib/),, который скомпилирован нормально, но опять-таки не похоже, что содержащиеся в нем методы позволят мне извлекать отдельные файлы.

Похоже, что это возможно, поскольку есть приложение под названием Ziplorer (http://www.s4bb.com/software/ziplorer/), которое утверждает, что выполняет эту точную процедуру. Однако, как они это делают, мне не удается это сделать.

Так что я здесь после нескольких часов поиска в Google. Я приветствую любое понимание моей проблемы с распростертыми объятиями.

Ответы [ 2 ]

0 голосов
/ 22 июня 2010

Если вы можете терпеть код GPL в вашем приложении, то эта библиотека http://jazzme.sourceforge.net/ может работать. Однако проект (и его родительский проект http://sourceforge.net/projects/jazzlib/) не выглядят так, как будто они разрабатываются.

0 голосов
/ 18 ноября 2009

«почтовые» алгоритмы обычно являются ответвлениями алгоритма Лемпеля-Зива-Уэлча . Это довольно эффективные алгоритмы сжатия потоков, но из-за того, как они функционируют, вы не можете начать распаковку в случайных точках в файле, вы должны начать с самого начала.

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

...