Android ZipInputStream: только записи DEFLATED могут иметь дескриптор EXTJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Android ZipInputStream: только записи DEFLATED могут иметь дескриптор EXT

Сообщение Гость »

На моем устройстве Android мне нужно извлечь файл (xapk, который, насколько мне известно, представляет собой простой zip-архив), который я получаю из URI контента.
Я создаю ZipInputStream, используя это строка кода:

Код: Выделить всё

ZipInputStream zis = new ZipInputStream(getContentResolver().openInputStream(zipUri));
А затем я пытаюсь прочитать первую запись архива с помощью:

Код: Выделить всё

ZipEntry entry = zis.getNextEntry()
Проблема в том, что я получаю следующее исключение:


java.util. zip.ZipException: только записи DEFLATED могут иметь дескриптор EXT



Я на 100% уверен, что файлов размером 0 байт не существует в архиве, и я могу извлечь тот же архив с помощью других утилит (RAR, unzip и т. д.) на своем устройстве.

Если я использую ZipFile с жестко закодированным путем ( поэтому URI контента не задействован), я могу без проблем извлечь тот же архив, поэтому проблема связана с ZipInputStream с URI. С другой стороны, я не могу использовать здесь ZipFile, поскольку он не поддерживает URI контента.

Подробнее здесь: https://stackoverflow.com/questions/472 ... descriptor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»