Package java.util.zip

Class CheckedInputStream

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public class CheckedInputStream
    extends FilterInputStream
    The CheckedInputStream class is used to maintain a checksum at the same time as the data, on which the checksum is computed, is read from a stream. The purpose of this checksum is to establish data integrity, comparing the computed checksum against a published checksum value.
    • Constructor Detail

      • CheckedInputStream

        public CheckedInputStream​(InputStream is,
                                  Checksum csum)
        Constructs a new CheckedInputStream on InputStream is. The checksum will be calculated using the algorithm implemented by csum.

        Warning: passing a null source creates an invalid CheckedInputStream. All operations on such a stream will fail.

        Parameters:
        is - the input stream to calculate checksum from.
        csum - an entity implementing the checksum algorithm.
    • Method Detail

      • read

        public int read()
                 throws IOException
        Reads one byte of data from the underlying input stream and updates the checksum with the byte data.
        Overrides:
        read in class FilterInputStream
        Returns:
        -1 at the end of the stream, a single byte value otherwise.
        Throws:
        IOException - if an IOException occurs.
      • read

        public int read​(byte[] buffer,
                        int byteOffset,
                        int byteCount)
                 throws IOException
        Reads up to byteCount bytes of data from the underlying input stream, storing it into buffer, starting at offset byteOffset. The checksum is updated with the bytes read. Returns the number of bytes actually read or -1 if arrived at the end of the filtered stream while reading the data.
        Overrides:
        read in class FilterInputStream
        Throws:
        IOException - if this stream is closed or some I/O error occurs.
      • getChecksum

        public Checksum getChecksum()
        Returns the checksum calculated on the stream read so far.