Class ByteStreams
NOTE: this is a copy of a subset of Guava's ByteStreams
. The
implementation must match as closely as possible to Guava's implementation.
- Since:
- 1.14
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic long
copy
(InputStream from, OutputStream to) Copies all bytes from the input stream to the output stream.static InputStream
limit
(InputStream in, long limit) Wraps an input stream, limiting the number of bytes which can be read.static int
read
(InputStream in, byte[] b, int off, int len) Reads some bytes from an input stream and stores them into the buffer arrayb
.
-
Field Details
-
BUF_SIZE
private static final int BUF_SIZE- See Also:
-
-
Constructor Details
-
ByteStreams
private ByteStreams()
-
-
Method Details
-
copy
Copies all bytes from the input stream to the output stream. Does not close or flush either stream.- Parameters:
from
- the input stream to read fromto
- the output stream to write to- Returns:
- the number of bytes copied
- Throws:
IOException
-
limit
Wraps an input stream, limiting the number of bytes which can be read.- Parameters:
in
- the input stream to be wrappedlimit
- the maximum number of bytes to be read- Returns:
- a length-limited
InputStream
-
read
Reads some bytes from an input stream and stores them into the buffer arrayb
.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, aNullPointerException
is thrown. Ifoff
is negative, orlen
is negative, oroff+len
is greater than the length of the arrayb
, then anIndexOutOfBoundsException
is thrown. Iflen
is zero, then no bytes are read. Otherwise, the first byte read is stored into elementb[off]
, the next one intob[off+1]
, and so on. The number of bytes read is, at most, equal tolen
.- Parameters:
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 read- Returns:
- the number of bytes read
- Throws:
IOException
-