Package com.google.common.hash
Class HashingInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.google.common.hash.HashingInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
@Beta public final class HashingInputStream extends java.io.FilterInputStream
AnInputStream
that maintains a hash of the data read from it.- Since:
- 16.0
- Author:
- Qian Huang
-
-
Constructor Summary
Constructors Constructor Description HashingInputStream(HashFunction hashFunction, java.io.InputStream in)
Creates an input stream that hashes using the givenHashFunction
and delegates all data read from it to the underlyingInputStream
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HashCode
hash()
Returns theHashCode
based on the data read from this stream.void
mark(int readlimit)
mark() is not supported for HashingInputStreamboolean
markSupported()
mark() is not supported for HashingInputStreamint
read()
Reads the next byte of data from the underlying input stream and updates the hasher with the byte read.int
read(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.void
reset()
reset() is not supported for HashingInputStream.
-
-
-
Constructor Detail
-
HashingInputStream
public HashingInputStream(HashFunction hashFunction, java.io.InputStream in)
Creates an input stream that hashes using the givenHashFunction
and delegates all data read from it to the underlyingInputStream
.The
InputStream
should not be read from before or after the hand-off.
-
-
Method Detail
-
read
@CanIgnoreReturnValue public int read() throws java.io.IOException
Reads the next byte of data from the underlying input stream and updates the hasher with the byte read.- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
@CanIgnoreReturnValue public int read(byte[] bytes, int off, int len) throws java.io.IOException
Reads the specified bytes of data from the underlying input stream and updates the hasher with the bytes read.- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
markSupported
public boolean markSupported()
mark() is not supported for HashingInputStream- Overrides:
markSupported
in classjava.io.FilterInputStream
- Returns:
false
always
-
mark
public void mark(int readlimit)
mark() is not supported for HashingInputStream- Overrides:
mark
in classjava.io.FilterInputStream
-
reset
public void reset() throws java.io.IOException
reset() is not supported for HashingInputStream.- Overrides:
reset
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
- this operation is not supported
-
-