Class ChecksumVerifyingInputStream

java.lang.Object
java.io.InputStream
org.apache.commons.compress.utils.ChecksumVerifyingInputStream
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
CRC32VerifyingInputStream

public class ChecksumVerifyingInputStream extends InputStream
A stream that verifies the checksum of the data read once the stream is exhausted.
Since:
1.7
  • Field Details

    • in

      private final InputStream in
    • bytesRemaining

      private long bytesRemaining
    • expectedChecksum

      private final long expectedChecksum
    • checksum

      private final Checksum checksum
  • Constructor Details

    • ChecksumVerifyingInputStream

      public ChecksumVerifyingInputStream(Checksum checksum, InputStream in, long size, long expectedChecksum)
  • Method Details

    • read

      public int read() throws IOException
      Reads a single byte from the stream
      Specified by:
      read in class InputStream
      Throws:
      IOException - if the underlying stream throws or the stream is exhausted and the Checksum doesn't match the expected value
    • read

      public int read(byte[] b) throws IOException
      Reads a byte array from the stream
      Overrides:
      read in class InputStream
      Throws:
      IOException - if the underlying stream throws or the stream is exhausted and the Checksum doesn't match the expected value
    • read

      public int read(byte[] b, int off, int len) throws IOException
      Reads from the stream into a byte array.
      Overrides:
      read in class InputStream
      Throws:
      IOException - if the underlying stream throws or the stream is exhausted and the Checksum doesn't match the expected value
    • skip

      public long skip(long n) throws IOException
      Overrides:
      skip in class InputStream
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class InputStream
      Throws:
      IOException
    • getBytesRemaining

      public long getBytesRemaining()
      Returns:
      bytes remaining to read
      Since:
      1.21