Package com.google.common.hash
Class HashingInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.google.common.hash.HashingInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
@Beta public final class HashingInputStream extends FilterInputStream
AnInputStreamthat maintains a hash of the data read from it.- Since:
- 16.0
- Author:
- Qian Huang
-
-
Field Summary
-
Fields inherited from class java.io.FilterInputStream
in
-
-
Constructor Summary
Constructors Constructor Description HashingInputStream(HashFunction hashFunction, InputStream in)Creates an input stream that hashes using the givenHashFunctionand delegates all data read from it to the underlyingInputStream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HashCodehash()Returns theHashCodebased on the data read from this stream.voidmark(int readlimit)mark() is not supported for HashingInputStreambooleanmarkSupported()mark() is not supported for HashingInputStreamintread()Reads the next byte of data from the underlying input stream and updates the hasher with the byte read.intread(byte[] bytes, int off, int len)Reads the specified bytes of data from the underlying input stream and updates the hasher with the bytes read.voidreset()reset() is not supported for HashingInputStream.-
Methods inherited from class java.io.FilterInputStream
available, close, read, skip
-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Constructor Detail
-
HashingInputStream
public HashingInputStream(HashFunction hashFunction, InputStream in)
Creates an input stream that hashes using the givenHashFunctionand delegates all data read from it to the underlyingInputStream.The
InputStreamshould not be read from before or after the hand-off.
-
-
Method Detail
-
read
@CanIgnoreReturnValue public int read() throws IOException
Reads the next byte of data from the underlying input stream and updates the hasher with the byte read.- Overrides:
readin classFilterInputStream- Throws:
IOException
-
read
@CanIgnoreReturnValue public int read(byte[] bytes, int off, int len) throws IOException
Reads the specified bytes of data from the underlying input stream and updates the hasher with the bytes read.- Overrides:
readin classFilterInputStream- Throws:
IOException
-
markSupported
public boolean markSupported()
mark() is not supported for HashingInputStream- Overrides:
markSupportedin classFilterInputStream- Returns:
falsealways
-
mark
public void mark(int readlimit)
mark() is not supported for HashingInputStream- Overrides:
markin classFilterInputStream
-
reset
public void reset() throws IOException
reset() is not supported for HashingInputStream.- Overrides:
resetin classFilterInputStream- Throws:
IOException- this operation is not supported
-
-