public final class ByteStreams extends Object
NOTE: this is a copy of a subset of Guava's com.google.common.io.ByteStreams. The implementation must match as closely as possible to Guava's implementation.
| Modifier and Type | Method and Description |
|---|---|
static long |
copy(InputStream
Copies all bytes from the input stream to the output stream.
|
static InputStream |
limit(InputStream
Wraps an input stream, limiting the number of bytes which can be read.
|
static int |
read(InputStream
Reads some bytes from an input stream and stores them into the buffer array
b.
|
public static long copy(InputStreamfrom, OutputStream to) throws IOException
from - the input stream to read from
to - the output stream to write to
IOException
public static InputStreamlimit(InputStream in, long limit)
in - the input stream to be wrapped
limit - the maximum number of bytes to be read
InputStream
public static int read(InputStreamin, 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 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
IOException