*** 177,186 **** --- 177,190 ---- */ public int available() throws IOException { ensureOpen(); if (reachEOF) { return 0; + } else if (inf.finished()) { + // the end of the compressed data stream has been reached + reachEOF = true; + return 0; } else { return 1; } }