public abstract class ByteSink
extends java.lang.Object
OutputStream
, a
ByteSink
is not an open, stateful stream that can be written to and closed. Instead, it
is an immutable supplier of OutputStream
instances.
ByteSink
provides two kinds of methods:
Constructor and Description |
---|
ByteSink() |
Modifier and Type | Method and Description |
---|---|
CharSink |
asCharSink(java.nio.charset.Charset charset)
Returns a
CharSink view of this ByteSink that writes characters to this sink
as bytes encoded with the given charset . |
java.io.BufferedOutputStream |
openBufferedStream()
Opens a new
BufferedOutputStream for writing to this sink. |
abstract java.io.OutputStream |
openStream()
Opens a new
OutputStream for writing to this sink. |
void |
write(byte[] bytes)
Writes all the given bytes to this sink.
|
long |
writeFrom(java.io.InputStream input)
Writes all the bytes from the given
InputStream to this sink. |
public CharSink asCharSink(java.nio.charset.Charset charset)
CharSink
view of this ByteSink
that writes characters to this sink
as bytes encoded with the given charset
.public abstract java.io.OutputStream openStream() throws java.io.IOException
OutputStream
for writing to this sink. This method should return a new,
independent stream each time it is called.
The caller is responsible for ensuring that the returned stream is closed.
java.io.IOException
- if an I/O error occurs in the process of opening the streampublic java.io.BufferedOutputStream openBufferedStream() throws java.io.IOException
BufferedOutputStream
for writing to this sink. This method should return a
new, independent stream each time it is called.
The caller is responsible for ensuring that the returned stream is closed.
java.io.IOException
- if an I/O error occurs in the process of opening the streampublic void write(byte[] bytes) throws java.io.IOException
java.io.IOException
- if an I/O occurs in the process of writing to this sinkpublic long writeFrom(java.io.InputStream input) throws java.io.IOException
InputStream
to this sink. Does not close
input
.java.io.IOException
- if an I/O occurs in the process of reading from input
or writing to
this sink