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

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