LINUX.ORG.RU

При попытке считать длину данных из GZIPInputStream получаю 1, но данные есть и их длина больше.

 


0

1

Получаю данные из сети через HttpURLConnection, если сеть вернула мне данные пожатые gzip`ом то HttpURLConnection возвращает GZIPInputStream соответственно. Проблема: При вызове метода available он возвращает 1, при попытке считать данные таким образом «read(buff, 0, 128)» они успешно считываются, но первых двух байт в них нет, точнее нет первых двух символов ведь я пытаюсь получить код HTML страницы. Гугл не помог. В эмуляторе Android 2.3.3. Прошу помощи!



Последнее исправление: cetjs2 (всего исправлений: 1)

Ответ на: комментарий от qbe

Спасибо! Навели на верный путь. Оказывается GZIPInputStream вовсе не обязан знать сколько доступно байт и считывать его нужно циклом, по несколько или по одному байту. Проблему свою решил.

Seraph
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.