@Beta public final class HashingOutputStream extends java.io.FilterOutputStream
OutputStream
that maintains a hash of the data written to it.Constructor and Description |
---|
HashingOutputStream(HashFunction hashFunction,
java.io.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. |
public HashingOutputStream(HashFunction hashFunction, java.io.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 java.io.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 java.io.FilterOutputStream
b
- the byte
.java.io.IOException
- if an I/O error occurs.public void write(byte[] bytes, int off, int len) throws java.io.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 java.io.FilterOutputStream
bytes
- the data.off
- the start offset in the data.len
- the number of bytes to write.java.io.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 java.io.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 java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.FilterOutputStream
java.io.IOException
- if an I/O error occurs.FilterOutputStream.flush()
,
FilterOutputStream.out
Copyright © 2010–2021. All rights reserved.