@Beta
public final class ByteStreams
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
static ByteSink |
asByteSink(OutputSupplier<? extends java.io.OutputStream> supplier)
Deprecated.
Convert all
OutputSupplier<? extends OutputStream>
implementations to extend ByteSink or provide a method for
viewing the object as a ByteSink. This method is scheduled
for removal in Guava 18.0. |
static ByteSource |
asByteSource(InputSupplier<? extends java.io.InputStream> supplier)
Deprecated.
Convert all
InputSupplier<? extends InputStream>
implementations to extend ByteSource or provide a method for
viewing the object as a ByteSource. This method is scheduled
for removal in Guava 18.0. |
static long |
copy(java.io.InputStream from,
java.io.OutputStream to)
Copies all bytes from the input stream to the output stream.
|
static long |
copy(java.io.InputStream from,
OutputSupplier<? extends java.io.OutputStream> to)
Deprecated.
Use
ByteSink.writeFrom(InputStream) instead. This
method is scheduled for removal in Guava 18.0. |
static long |
copy(InputSupplier<? extends java.io.InputStream> from,
java.io.OutputStream to)
Deprecated.
Use
ByteSource.copyTo(OutputStream) instead. This
method is scheduled for removal in Guava 18.0. |
static long |
copy(InputSupplier<? extends java.io.InputStream> from,
OutputSupplier<? extends java.io.OutputStream> to)
Deprecated.
Use
ByteSource.copyTo(ByteSink) instead. This method
is scheduled for removal in Guava 18.0. |
static long |
copy(java.nio.channels.ReadableByteChannel from,
java.nio.channels.WritableByteChannel to)
Copies all bytes from the readable channel to the writable channel.
|
static boolean |
equal(InputSupplier<? extends java.io.InputStream> supplier1,
InputSupplier<? extends java.io.InputStream> supplier2)
Deprecated.
Use
ByteSource.contentEquals(ByteSource) instead. This
method is scheduled for removal in Guava 18.0. |
static net.tribe7.common.hash.HashCode |
hash(InputSupplier<? extends java.io.InputStream> supplier,
net.tribe7.common.hash.HashFunction hashFunction)
Deprecated.
Use
ByteSource.hash(HashFunction) instead. This method
is scheduled for removal in Guava 18.0. |
static InputSupplier<java.io.InputStream> |
join(InputSupplier<? extends java.io.InputStream>... suppliers)
Deprecated.
Use
ByteSource.concat(ByteSource[]) instead. This
method is scheduled for removal in Guava 18.0. |
static InputSupplier<java.io.InputStream> |
join(java.lang.Iterable<? extends InputSupplier<? extends java.io.InputStream>> suppliers)
Deprecated.
Use
ByteSource.concat(Iterable) instead. This method
is scheduled for removal in Guava 18.0. |
static long |
length(InputSupplier<? extends java.io.InputStream> supplier)
Deprecated.
Use
ByteSource.size() instead. This method is
scheduled for removal in Guava 18.0. |
static java.io.InputStream |
limit(java.io.InputStream in,
long limit)
Wraps a
InputStream, limiting the number of bytes which can be
read. |
static ByteArrayDataInput |
newDataInput(byte[] bytes)
Returns a new
ByteArrayDataInput instance to read from the bytes array from the beginning. |
static ByteArrayDataInput |
newDataInput(byte[] bytes,
int start)
Returns a new
ByteArrayDataInput instance to read from the bytes array, starting at the given position. |
static ByteArrayDataOutput |
newDataOutput()
Returns a new
ByteArrayDataOutput instance with a default size. |
static ByteArrayDataOutput |
newDataOutput(int size)
Returns a new
ByteArrayDataOutput instance sized to hold
size bytes before resizing. |
static InputSupplier<java.io.ByteArrayInputStream> |
newInputStreamSupplier(byte[] b)
Deprecated.
Use
ByteSource.wrap(byte[]) instead. This method is
scheduled for removal in Guava 18.0. |
static InputSupplier<java.io.ByteArrayInputStream> |
newInputStreamSupplier(byte[] b,
int off,
int len)
Deprecated.
Use
ByteSource.wrap(b).slice(off, len) instead. This
method is scheduled for removal in Guava 18.0. |
static java.io.OutputStream |
nullOutputStream()
Returns an
OutputStream that simply discards written bytes. |
static int |
read(java.io.InputStream in,
byte[] b,
int off,
int len)
Reads some bytes from an input stream and stores them into the buffer array
b. |
static <T> T |
readBytes(java.io.InputStream input,
ByteProcessor<T> processor)
Process the bytes of the given input stream using the given processor.
|
static <T> T |
readBytes(InputSupplier<? extends java.io.InputStream> supplier,
ByteProcessor<T> processor)
Deprecated.
Use
ByteSource.read(ByteProcessor) instead. This
method is scheduled for removal in Guava 18.0. |
static void |
readFully(java.io.InputStream in,
byte[] b)
Attempts to read enough bytes from the stream to fill the given byte array,
with the same behavior as
DataInput.readFully(byte[]). |
static void |
readFully(java.io.InputStream in,
byte[] b,
int off,
int len)
Attempts to read
len bytes from the stream into the given array
starting at off, with the same behavior as
DataInput.readFully(byte[], int, int). |
static void |
skipFully(java.io.InputStream in,
long n)
Discards
n bytes of data from the input stream. |
static InputSupplier<java.io.InputStream> |
slice(InputSupplier<? extends java.io.InputStream> supplier,
long offset,
long length)
Deprecated.
Use
ByteSource#slice(int, int) instead. This method is
scheduled for removal in Guava 18.0. |
static byte[] |
toByteArray(java.io.InputStream in)
Reads all bytes from an input stream into a byte array.
|
static byte[] |
toByteArray(InputSupplier<? extends java.io.InputStream> supplier)
Deprecated.
Use
ByteSource.read() instead. This method is
scheduled for removal in Guava 18.0. |
static void |
write(byte[] from,
OutputSupplier<? extends java.io.OutputStream> to)
Deprecated.
Use
ByteSink.write(byte[]) instead. This method is
scheduled for removal in Guava 18.0. |
@Deprecated public static InputSupplier<java.io.ByteArrayInputStream> newInputStreamSupplier(byte[] b)
ByteSource.wrap(byte[]) instead. This method is
scheduled for removal in Guava 18.0.ByteArrayInputStream that read from the given byte array.b - the input buffer@Deprecated public static InputSupplier<java.io.ByteArrayInputStream> newInputStreamSupplier(byte[] b, int off, int len)
ByteSource.wrap(b).slice(off, len) instead. This
method is scheduled for removal in Guava 18.0.ByteArrayInputStream that read from the given byte array.b - the input bufferoff - the offset in the buffer of the first byte to readlen - the maximum number of bytes to read from the buffer@Deprecated
public static void write(byte[] from,
OutputSupplier<? extends java.io.OutputStream> to)
throws java.io.IOException
ByteSink.write(byte[]) instead. This method is
scheduled for removal in Guava 18.0.from - the bytes to writeto - the output supplierjava.io.IOException - if an I/O error occurs@Deprecated public static long copy(InputSupplier<? extends java.io.InputStream> from, OutputSupplier<? extends java.io.OutputStream> to) throws java.io.IOException
ByteSource.copyTo(ByteSink) instead. This method
is scheduled for removal in Guava 18.0.from - the input factoryto - the output factoryjava.io.IOException - if an I/O error occurs@Deprecated public static long copy(InputSupplier<? extends java.io.InputStream> from, java.io.OutputStream to) throws java.io.IOException
ByteSource.copyTo(OutputStream) instead. This
method is scheduled for removal in Guava 18.0.from - the input factoryto - the output stream to write tojava.io.IOException - if an I/O error occurs@Deprecated
public static long copy(java.io.InputStream from,
OutputSupplier<? extends java.io.OutputStream> to)
throws java.io.IOException
ByteSink.writeFrom(InputStream) instead. This
method is scheduled for removal in Guava 18.0.from - the input stream to read fromto - the output factoryjava.io.IOException - if an I/O error occurspublic static long copy(java.io.InputStream from,
java.io.OutputStream to)
throws java.io.IOException
from - the input stream to read fromto - the output stream to write tojava.io.IOException - if an I/O error occurspublic static long copy(java.nio.channels.ReadableByteChannel from,
java.nio.channels.WritableByteChannel to)
throws java.io.IOException
from - the readable channel to read fromto - the writable channel to write tojava.io.IOException - if an I/O error occurspublic static byte[] toByteArray(java.io.InputStream in)
throws java.io.IOException
in - the input stream to read fromjava.io.IOException - if an I/O error occurs@Deprecated public static byte[] toByteArray(InputSupplier<? extends java.io.InputStream> supplier) throws java.io.IOException
ByteSource.read() instead. This method is
scheduled for removal in Guava 18.0.InputStream factory as a byte array.supplier - the factoryjava.io.IOException - if an I/O error occurspublic static ByteArrayDataInput newDataInput(byte[] bytes)
ByteArrayDataInput instance to read from the bytes array from the beginning.public static ByteArrayDataInput newDataInput(byte[] bytes, int start)
ByteArrayDataInput instance to read from the bytes array, starting at the given position.java.lang.IndexOutOfBoundsException - if start is negative or greater
than the length of the arraypublic static ByteArrayDataOutput newDataOutput()
ByteArrayDataOutput instance with a default size.public static ByteArrayDataOutput newDataOutput(int size)
ByteArrayDataOutput instance sized to hold
size bytes before resizing.java.lang.IllegalArgumentException - if size is negativepublic static java.io.OutputStream nullOutputStream()
OutputStream that simply discards written bytes.public static java.io.InputStream limit(java.io.InputStream in,
long limit)
InputStream, limiting the number of bytes which can be
read.in - the input stream to be wrappedlimit - the maximum number of bytes to be readInputStream@Deprecated public static long length(InputSupplier<? extends java.io.InputStream> supplier) throws java.io.IOException
ByteSource.size() instead. This method is
scheduled for removal in Guava 18.0.java.io.IOException@Deprecated public static boolean equal(InputSupplier<? extends java.io.InputStream> supplier1, InputSupplier<? extends java.io.InputStream> supplier2) throws java.io.IOException
ByteSource.contentEquals(ByteSource) instead. This
method is scheduled for removal in Guava 18.0.java.io.IOException - if an I/O error occurspublic static void readFully(java.io.InputStream in,
byte[] b)
throws java.io.IOException
DataInput.readFully(byte[]).
Does not close the stream.in - the input stream to read from.b - the buffer into which the data is read.java.io.EOFException - if this stream reaches the end before reading all
the bytes.java.io.IOException - if an I/O error occurs.public static void readFully(java.io.InputStream in,
byte[] b,
int off,
int len)
throws java.io.IOException
len bytes from the stream into the given array
starting at off, with the same behavior as
DataInput.readFully(byte[], int, int). Does not close the
stream.in - the input stream to read from.b - the buffer into which the data is read.off - an int specifying the offset into the data.len - an int specifying the number of bytes to read.java.io.EOFException - if this stream reaches the end before reading all
the bytes.java.io.IOException - if an I/O error occurs.public static void skipFully(java.io.InputStream in,
long n)
throws java.io.IOException
n bytes of data from the input stream. This method
will block until the full amount has been skipped. Does not close the
stream.in - the input stream to read fromn - the number of bytes to skipjava.io.EOFException - if this stream reaches the end before skipping all
the bytesjava.io.IOException - if an I/O error occurs, or the stream does not
support skipping@Deprecated public static <T> T readBytes(InputSupplier<? extends java.io.InputStream> supplier, ByteProcessor<T> processor) throws java.io.IOException
ByteSource.read(ByteProcessor) instead. This
method is scheduled for removal in Guava 18.0.supplier - the input stream factoryprocessor - the object to which to pass the bytes of the streamjava.io.IOException - if an I/O error occurspublic static <T> T readBytes(java.io.InputStream input,
ByteProcessor<T> processor)
throws java.io.IOException
input - the input stream to processprocessor - the object to which to pass the bytes of the streamjava.io.IOException - if an I/O error occurs@Deprecated public static net.tribe7.common.hash.HashCode hash(InputSupplier<? extends java.io.InputStream> supplier, net.tribe7.common.hash.HashFunction hashFunction) throws java.io.IOException
ByteSource.hash(HashFunction) instead. This method
is scheduled for removal in Guava 18.0.supplier using hashFunction.supplier - the input stream factoryhashFunction - the hash function to use to hash the dataHashCode of all of the bytes in the input streamjava.io.IOException - if an I/O error occurspublic static int read(java.io.InputStream in,
byte[] b,
int off,
int len)
throws java.io.IOException
b. This method blocks until len bytes of input data have
been read into the array, or end of file is detected. The number of bytes
read is returned, possibly zero. Does not close the stream.
A caller can detect EOF if the number of bytes read is less than
len. All subsequent calls on the same stream will return zero.
If b is null, a NullPointerException is thrown. If
off is negative, or len is negative, or off+len is
greater than the length of the array b, then an
IndexOutOfBoundsException is thrown. If len is zero, then
no bytes are read. Otherwise, the first byte read is stored into element
b[off], the next one into b[off+1], and so on. The number
of bytes read is, at most, equal to len.
in - the input stream to read fromb - the buffer into which the data is readoff - an int specifying the offset into the datalen - an int specifying the number of bytes to readjava.io.IOException - if an I/O error occurs@Deprecated public static InputSupplier<java.io.InputStream> slice(InputSupplier<? extends java.io.InputStream> supplier, long offset, long length)
ByteSource#slice(int, int) instead. This method is
scheduled for removal in Guava 18.0.InputSupplier that returns input streams from the
an underlying supplier, where each stream starts at the given
offset and is limited to the specified number of bytes.supplier - the supplier from which to get the raw streamsoffset - the offset in bytes into the underlying stream where
the returned streams will startlength - the maximum length of the returned streamsjava.lang.IllegalArgumentException - if offset or length are negative@Deprecated public static InputSupplier<java.io.InputStream> join(java.lang.Iterable<? extends InputSupplier<? extends java.io.InputStream>> suppliers)
ByteSource.concat(Iterable) instead. This method
is scheduled for removal in Guava 18.0.InputStream suppliers into a single supplier.
Streams returned from the supplier will contain the concatenated data from
the streams of the underlying suppliers.
Only one underlying input stream will be open at a time. Closing the joined stream will close the open underlying stream.
Reading from the joined stream will throw a NullPointerException
if any of the suppliers are null or return null.
suppliers - the suppliers to concatenate@Deprecated public static InputSupplier<java.io.InputStream> join(InputSupplier<? extends java.io.InputStream>... suppliers)
ByteSource.concat(ByteSource[]) instead. This
method is scheduled for removal in Guava 18.0.join(Iterable).@Deprecated public static ByteSource asByteSource(InputSupplier<? extends java.io.InputStream> supplier)
InputSupplier<? extends InputStream>
implementations to extend ByteSource or provide a method for
viewing the object as a ByteSource. This method is scheduled
for removal in Guava 18.0.InputStream supplier as a
ByteSource.
This method is a temporary method provided for easing migration from suppliers to sources and sinks.
@Deprecated public static ByteSink asByteSink(OutputSupplier<? extends java.io.OutputStream> supplier)
OutputSupplier<? extends OutputStream>
implementations to extend ByteSink or provide a method for
viewing the object as a ByteSink. This method is scheduled
for removal in Guava 18.0.OutputStream supplier as a
ByteSink.
This method is a temporary method provided for easing migration from suppliers to sources and sinks.