@Beta public final class HashingOutputStream extends FilterOutputStream
OutputStream
that maintains a hash of the data written to it.out
Constructor and Description |
---|
HashingOutputStream(HashFunction hashFunction,
OutputStream out)
Creates an output stream that hashes using the given
HashFunction , and forwards all
data written to it to the underlying OutputStream . |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this output stream and releases any system resources
associated with the stream.
|
HashCode |
hash()
Returns the
HashCode based on the data written to this stream. |
void |
write(byte[] bytes,
int off,
int len)
Writes
len bytes from the specified
byte array starting at offset off to
this output stream. |
void |
write(int b)
Writes the specified
byte to this output stream. |
flush, write
public HashingOutputStream(HashFunction hashFunction, OutputStream out)
HashFunction
, and forwards all
data written to it to the underlying OutputStream
.
The OutputStream
should not be written to before or after the hand-off.
public void write(int b) throws IOException
java.io.FilterOutputStream
byte
to this output stream.
The write
method of FilterOutputStream
calls the write
method of its underlying output stream,
that is, it performs out.write(b).
Implements the abstract write method of OutputStream.
write
in class FilterOutputStream
b
- the byte
.IOException
- if an I/O error occurs.public void write(byte[] bytes, int off, int len) throws IOException
java.io.FilterOutputStream
len
bytes from the specified
byte
array starting at offset off
to
this output stream.
The write
method of FilterOutputStream
calls the write
method of one argument on each
byte
to output.
Note that this method does not call the write
method
of its underlying input stream with the same arguments. Subclasses
of FilterOutputStream
should provide a more efficient
implementation of this method.
write
in class FilterOutputStream
bytes
- the data.off
- the start offset in the data.len
- the number of bytes to write.IOException
- if an I/O error occurs.FilterOutputStream.write(int)
public HashCode hash()
HashCode
based on the data written to this stream. The result is
unspecified if this method is called more than once on the same instance.public void close() throws IOException
java.io.FilterOutputStream
The close
method of FilterOutputStream
calls its flush
method, and then calls the
close
method of its underlying output stream.
close
in interface Closeable
close
in interface AutoCloseable
close
in class FilterOutputStream
IOException
- if an I/O error occurs.FilterOutputStream.flush()
,
FilterOutputStream.out
Copyright © 2010–2020. All rights reserved.