@Beta public final class ByteStreams extends Object
| Modifier and Type | Method and Description | 
|---|---|
| static ByteSource | asByteSource(byte[] b)Returns a new  ByteSourcethat reads bytes from the given byte array. | 
| static long | copy(InputStream from,
        OutputStream to)Copies all bytes from the input stream to the output stream. | 
| static long | copy(InputStream from,
        OutputSupplier<? extends OutputStream> to)Opens an output stream from the supplier, copies all bytes from the input
 to the output, and closes the output stream. | 
| static long | copy(InputSupplier<? extends InputStream> from,
        OutputStream to)Opens an input stream from the supplier, copies all bytes from the
 input to the output, and closes the input stream. | 
| static long | copy(InputSupplier<? extends InputStream> from,
        OutputSupplier<? extends OutputStream> to)Opens input and output streams from the given suppliers, copies all
 bytes from the input to the output, and closes the streams. | 
| static long | copy(ReadableByteChannel from,
        WritableByteChannel to)Copies all bytes from the readable channel to the writable channel. | 
| static boolean | equal(InputSupplier<? extends InputStream> supplier1,
          InputSupplier<? extends InputStream> supplier2)Returns true if the supplied input streams contain the same bytes. | 
| static long | getChecksum(InputSupplier<? extends InputStream> supplier,
                      Checksum checksum)Deprecated. 
 Use  hashwith theHashing.crc32()orHashing.adler32()hash functions instead. This method is
     scheduled to be removed in Guava 15.0. | 
| static HashCode | hash(InputSupplier<? extends InputStream> supplier,
        HashFunction hashFunction)Computes the hash code of the data supplied by  supplierusinghashFunction. | 
| static InputSupplier<InputStream> | join(InputSupplier<? extends InputStream>... suppliers)Varargs form of  join(Iterable). | 
| static InputSupplier<InputStream> | join(Iterable<? extends InputSupplier<? extends InputStream>> suppliers)Joins multiple  InputStreamsuppliers into a single supplier. | 
| static long | length(InputSupplier<? extends InputStream> supplier)Returns the length of a supplied input stream, in bytes. | 
| static InputStream | limit(InputStream in,
          long limit)Wraps a  InputStream, limiting the number of bytes which can be
 read. | 
| static ByteArrayDataInput | newDataInput(byte[] bytes)Returns a new  ByteArrayDataInputinstance to read from thebytesarray from the beginning. | 
| static ByteArrayDataInput | newDataInput(byte[] bytes,
                        int start)Returns a new  ByteArrayDataInputinstance to read from thebytesarray, starting at the given position. | 
| static ByteArrayDataOutput | newDataOutput()Returns a new  ByteArrayDataOutputinstance with a default size. | 
| static ByteArrayDataOutput | newDataOutput(int size)Returns a new  ByteArrayDataOutputinstance sized to holdsizebytes before resizing. | 
| static InputSupplier<ByteArrayInputStream> | newInputStreamSupplier(byte[] b)Returns a factory that will supply instances of
  ByteArrayInputStreamthat read from the given byte array. | 
| static InputSupplier<ByteArrayInputStream> | newInputStreamSupplier(byte[] b,
                                            int off,
                                            int len)Returns a factory that will supply instances of
  ByteArrayInputStreamthat read from the given byte array. | 
| static OutputStream | nullOutputStream()Returns an  OutputStreamthat simply discards written bytes. | 
| static int | read(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(InputStream input,
                  ByteProcessor<T> processor)Process the bytes of the given input stream using the given processor. | 
| static <T> T | readBytes(InputSupplier<? extends InputStream> supplier,
                  ByteProcessor<T> processor)Process the bytes of a supplied stream | 
| static void | readFully(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(InputStream in,
                  byte[] b,
                  int off,
                  int len)Attempts to read  lenbytes from the stream into the given array
 starting atoff, with the same behavior asDataInput.readFully(byte[], int, int). | 
| static void | skipFully(InputStream in,
                  long n)Discards  nbytes of data from the input stream. | 
| static InputSupplier<InputStream> | slice(InputSupplier<? extends InputStream> supplier,
          long offset,
          long length)Returns an  InputSupplierthat 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. | 
| static byte[] | toByteArray(InputStream in)Reads all bytes from an input stream into a byte array. | 
| static byte[] | toByteArray(InputSupplier<? extends InputStream> supplier)Returns the data from a  InputStreamfactory as a byte array. | 
| static void | write(byte[] from,
          OutputSupplier<? extends OutputStream> to)Writes a byte array to an output stream from the given supplier. | 
public static InputSupplier<ByteArrayInputStream> newInputStreamSupplier(byte[] b)
ByteArrayInputStream that read from the given byte array.b - the input bufferpublic static InputSupplier<ByteArrayInputStream> newInputStreamSupplier(byte[] b, int off, int len)
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 bufferpublic static ByteSource asByteSource(byte[] b)
ByteSource that reads bytes from the given byte array.public static void write(byte[] from, OutputSupplier<? extends OutputStream> to) throws IOException
from - the bytes to writeto - the output supplierIOException - if an I/O error occurspublic static long copy(InputSupplier<? extends InputStream> from, OutputSupplier<? extends OutputStream> to) throws IOException
from - the input factoryto - the output factoryIOException - if an I/O error occurspublic static long copy(InputSupplier<? extends InputStream> from, OutputStream to) throws IOException
from - the input factoryto - the output stream to write toIOException - if an I/O error occurspublic static long copy(InputStream from, OutputSupplier<? extends OutputStream> to) throws IOException
from - the input stream to read fromto - the output factoryIOException - if an I/O error occurspublic static long copy(InputStream from, OutputStream to) throws IOException
from - the input stream to read fromto - the output stream to write toIOException - if an I/O error occurspublic static long copy(ReadableByteChannel from, WritableByteChannel to) throws IOException
from - the readable channel to read fromto - the writable channel to write toIOException - if an I/O error occurspublic static byte[] toByteArray(InputStream in) throws IOException
in - the input stream to read fromIOException - if an I/O error occurspublic static byte[] toByteArray(InputSupplier<? extends InputStream> supplier) throws IOException
InputStream factory as a byte array.supplier - the factoryIOException - 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.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.IllegalArgumentException - if size is negativepublic static OutputStream nullOutputStream()
OutputStream that simply discards written bytes.public static InputStream limit(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 readInputStreampublic static long length(InputSupplier<? extends InputStream> supplier) throws IOException
IOExceptionpublic static boolean equal(InputSupplier<? extends InputStream> supplier1, InputSupplier<? extends InputStream> supplier2) throws IOException
IOException - if an I/O error occurspublic static void readFully(InputStream in, byte[] b) throws 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.EOFException - if this stream reaches the end before reading all
     the bytes.IOException - if an I/O error occurs.public static void readFully(InputStream in, byte[] b, int off, int len) throws 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.EOFException - if this stream reaches the end before reading all
     the bytes.IOException - if an I/O error occurs.public static void skipFully(InputStream in, long n) throws 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 skipEOFException - if this stream reaches the end before skipping all
     the bytesIOException - if an I/O error occurs, or the stream does not
     support skippingpublic static <T> T readBytes(InputSupplier<? extends InputStream> supplier, ByteProcessor<T> processor) throws IOException
supplier - the input stream factoryprocessor - the object to which to pass the bytes of the streamIOException - if an I/O error occurspublic static <T> T readBytes(InputStream input, ByteProcessor<T> processor) throws IOException
input - the input stream to processprocessor - the object to which to pass the bytes of the streamIOException - if an I/O error occurs@Deprecated public static long getChecksum(InputSupplier<? extends InputStream> supplier, Checksum checksum) throws IOException
hash with the Hashing.crc32() or
     Hashing.adler32() hash functions instead. This method is
     scheduled to be removed in Guava 15.0.supplier - the input stream factorychecksum - the checksum objectChecksum.getValue() after updating the
     checksum object with all of the bytes in the streamIOException - if an I/O error occurspublic static HashCode hash(InputSupplier<? extends InputStream> supplier, HashFunction hashFunction) throws IOException
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 streamIOException - if an I/O error occurspublic static int read(InputStream in, byte[] b, int off, int len) throws 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 readIOException - if an I/O error occurspublic static InputSupplier<InputStream> slice(InputSupplier<? extends InputStream> supplier, long offset, long length)
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 streamsIllegalArgumentException - if offset or length are negativepublic static InputSupplier<InputStream> join(Iterable<? extends InputSupplier<? extends InputStream>> suppliers)
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 concatenatepublic static InputSupplier<InputStream> join(InputSupplier<? extends InputStream>... suppliers)
join(Iterable).Copyright © 2010-2013. All Rights Reserved.