java.lang.Object | |||
↳ | java.io.InputStream | ||
↳ | java.io.FilterInputStream | ||
↳ | java.io.BufferedInputStream |
Wraps an existing
InputStream
and
buffers
the input.
Expensive interaction with the underlying input stream is minimized, since
most (smaller) requests can be satisfied by accessing the buffer alone. The
drawback is that some extra space is required to hold the buffer and that
copying takes place when filling that buffer, but this is usually outweighed
by the performance benefits.
A typical application pattern for the class looks like this:
BufferedInputStream buf = new BufferedInputStream(new FileInputStream("file.java"));
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
buf | The buffer containing the current bytes read from the target InputStream. | |||||||||
|
count |
The total number of bytes inside the byte array
buf
.
|
|||||||||
|
marklimit | The current limit, which when passed, invalidates the current mark. | |||||||||
|
markpos | The currently marked position. | |||||||||
|
pos |
The current position within the byte array
buf
.
|
[Expand]
Inherited Fields
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.io.FilterInputStream
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Constructs a new
BufferedInputStream
, providing
in
with a buffer
of 8192 bytes.
|
||||||||||
|
Constructs a new
BufferedInputStream
, providing
in
with
size
bytes
of buffer.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Returns an estimated number of bytes that can be read or skipped without blocking for more
input.
|
||||||||||
|
Closes this stream.
|
||||||||||
|
Sets a mark position in this stream.
|
||||||||||
|
Indicates whether
BufferedInputStream
supports the
mark()
and
reset()
methods.
|
||||||||||
|
Reads a single byte from this stream and returns it as an integer in the
range from 0 to 255.
|
||||||||||
|
Reads up to
byteCount
bytes from this stream and stores them in
the byte array
buffer
starting at
byteOffset
.
|
||||||||||
|
Resets this stream to the last marked location.
|
||||||||||
|
Skips
byteCount
bytes in this stream.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.io.FilterInputStream
|
|||||||||||
From class
java.io.InputStream
|
|||||||||||
From class
java.lang.Object
|
|||||||||||
From interface
java.io.Closeable
|
|||||||||||
From interface
java.lang.AutoCloseable
|
The buffer containing the current bytes read from the target InputStream.
The current limit, which when passed, invalidates the current mark.
The currently marked position. -1 indicates no mark has been set or the mark has been invalidated.
Constructs a new
BufferedInputStream
, providing
in
with a buffer
of 8192 bytes.
Warning:
passing a null source creates a closed
BufferedInputStream
. All read operations on such a stream will
fail with an IOException.
in |
the
InputStream
the buffer reads from.
|
---|
Constructs a new
BufferedInputStream
, providing
in
with
size
bytes
of buffer.
Warning:
passing a null source creates a closed
BufferedInputStream
. All read operations on such a stream will
fail with an IOException.
in |
the
InputStream
the buffer reads from.
|
---|---|
size | the size of buffer in bytes. |
IllegalArgumentException |
if
size <= 0
.
|
---|
Returns an estimated number of bytes that can be read or skipped without blocking for more
input. This method returns the number of bytes available in the buffer
plus those available in the source stream, but see
available()
for
important caveats.
IOException | if this stream is closed or an error occurs |
---|
Closes this stream. The source stream is closed and any resources associated with it are released.
IOException | if an error occurs while closing this stream. |
---|
Sets a mark position in this stream. The parameter
readlimit
indicates how many bytes can be read before a mark is invalidated.
Calling
reset()
will reposition the stream back to the marked
position if
readlimit
has not been surpassed. The underlying
buffer may be increased in size to allow
readlimit
number of
bytes to be supported.
readlimit | the number of bytes that can be read before the mark is invalidated. |
---|
Reads a single byte from this stream and returns it as an integer in the range from 0 to 255. Returns -1 if the end of the source string has been reached. If the internal buffer does not contain any available bytes then it is filled from the source stream and the first byte is returned.
IOException | if this stream is closed or another IOException occurs. |
---|
Reads up to
byteCount
bytes from this stream and stores them in
the byte array
buffer
starting at
byteOffset
.
Returns the number of bytes actually read or -1 if the end of the stream
has been reached.
IOException |
---|
Resets this stream to the last marked location.
IOException |
if this stream is closed, no mark has been set or the mark is
no longer valid because more than
readlimit
bytes
have been read since setting the mark.
|
---|
Skips
byteCount
bytes in this stream. Subsequent calls to
read
will not return these bytes unless
reset
is
used.
byteCount |
the number of bytes to skip.
skip
does nothing and
returns 0 if
byteCount
is less than zero.
|
---|
IOException | if this stream is closed or another IOException occurs. |
---|