diff --git a/src/main/java/com/reandroid/lib/arsc/header/AnyHeader.java b/src/main/java/com/reandroid/lib/arsc/header/AnyHeader.java index 04534e9..142b17b 100644 --- a/src/main/java/com/reandroid/lib/arsc/header/AnyHeader.java +++ b/src/main/java/com/reandroid/lib/arsc/header/AnyHeader.java @@ -64,10 +64,10 @@ public class AnyHeader extends HeaderBlock{ byte[] buffer = new byte[chunkSize]; int length = chunkSize - headerSize; int offset = loadHeaderBytes(buffer); - int readLength = inputStream.read(buffer, offset, length); - if(readLength < length){ - throw new IOException("Read length is less than expected: length=" - +chunkSize+", read="+readLength); + while (length>0){ + int len = inputStream.read(buffer, offset, length); + length=length-len; + offset=offset+len; } return buffer; }