COMPRESS-445 can't use decoder after stream has been exhausted
Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/b8f7d772 Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/b8f7d772 Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/b8f7d772 Branch: refs/heads/master Commit: b8f7d772c96b0d1fa3b7a82c741d336d052940b2 Parents: d6b07a1 Author: Stefan Bodewig <bode...@apache.org> Authored: Sun Apr 22 19:54:50 2018 +0200 Committer: Stefan Bodewig <bode...@apache.org> Committed: Sun Apr 22 19:54:50 2018 +0200 ---------------------------------------------------------------------- .../compressors/deflate64/Deflate64CompressorInputStream.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-compress/blob/b8f7d772/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java b/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java index 36b8a83..a0efd35 100644 --- a/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java +++ b/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java @@ -34,6 +34,7 @@ import static org.apache.commons.compress.utils.IOUtils.closeQuietly; public class Deflate64CompressorInputStream extends CompressorInputStream implements InputStreamStatistics { private InputStream originalStream; private HuffmanDecoder decoder; + private long compressedBytesRead; private final byte[] oneByte = new byte[1]; /** @@ -78,6 +79,7 @@ public class Deflate64CompressorInputStream extends CompressorInputStream implem int read = -1; if (decoder != null) { read = decoder.decode(b, off, len); + compressedBytesRead = decoder.getBytesRead(); count(read); if (read == -1) { closeDecoder(); @@ -105,7 +107,7 @@ public class Deflate64CompressorInputStream extends CompressorInputStream implem */ @Override public long getCompressedCount() { - return decoder.getBytesRead(); + return compressedBytesRead; } /**