@@ -177,10 +177,14 @@ */ 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; } }