Хорошо, одна определенная проблема заключается в том, что вы, очевидно, используете InputStream.read
без проверки возвращаемого значения.Это означает, что вы, возможно, прочитали меньше данных, чем ожидали.
Кроме того, вы пытаетесь увеличить в unComp
с смещение, но максимальная длина совпадает сunComp.length
.Это означает, что если offset
- это что-то отличное от 0, вы можете пытаться записать после конца массива.
Вы имели в виду смещение для обращения к массиву input ?Я не верю, что это значит.Вы должны использовать от setInput
до только для ввода входных данных.
Однако вы могли бы значительно упростить все это, используя InflaterInputStream
вместо обработки Inflate
самостоятельно.