|
Final | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
java.io.FilterInputStream
java.io.BufferedInputStream
public class BufferedInputStream
BufferedInputStream
is a class which takes an input stream and
buffers the input. In this way, costly interaction with the
original input stream can be minimized by reading buffered amounts of data
infrequently. The drawback is that extra space is required to hold the buffer
and that copying takes place when reading that buffer.
BufferedOutputStream
Field Summary | |
---|---|
protected byte[] |
buf
The buffer containing the current bytes read from the target InputStream. |
protected int |
count
The total number of bytes inside the byte array buf . |
protected int |
marklimit
The current limit, which when passed, invalidates the current mark. |
protected int |
markpos
The currently marked position. |
protected int |
pos
The current position within the byte array buf . |
Fields inherited from class java.io.FilterInputStream |
---|
in |
Constructor Summary | |
---|---|
BufferedInputStream(InputStream in)
Constructs a new BufferedInputStream on the InputStream in . |
|
BufferedInputStream(InputStream in,
int size)
Constructs a new BufferedInputStream on the InputStream in . |
Method Summary | |
---|---|
int |
available()
Answers a int representing then number of bytes that are available before this BufferedInputStream will block. |
void |
close()
Close this BufferedInputStream. |
void |
mark(int readlimit)
Set a Mark position in this BufferedInputStream. |
boolean |
markSupported()
Answers a boolean indicating whether or not this BufferedInputStream supports mark() and reset(). |
int |
read()
Reads a single byte from this BufferedInputStream and returns the result as an int. |
int |
read(byte[] buffer,
int offset,
int length)
Reads at most length bytes from this BufferedInputStream and stores them in byte
array buffer starting at offset offset . |
void |
reset()
Reset this BufferedInputStream to the last marked location. |
long |
skip(long amount)
Skips amount number of bytes in this BufferedInputStream. |
Methods inherited from class java.io.FilterInputStream |
---|
read |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected volatile byte[] buf
protected int count
buf
.
protected int marklimit
protected int markpos
protected int pos
buf
.
Constructor Detail |
---|
public BufferedInputStream(InputStream in)
BufferedInputStream
on the InputStream in
. The default
buffer size (2K) is allocated and all reads can now be filtered through this stream.
in
- the InputStream to buffer reads on.public BufferedInputStream(InputStream in, int size)
in
. The
buffer size is specified by the parameter size
and all reads can
now be filtered through this BufferedInputStream.
in
- the InputStream to buffer reads on.size
- the size of buffer to allocate.Method Detail |
---|
public int available() throws IOException
available
in class FilterInputStream
IOException
- If an error occurs in this stream.public void close() throws IOException
close
in interface Closeable
close
in class FilterInputStream
IOException
- If an error occurs attempting to close this stream.public void mark(int readlimit)
readLimit
indicates how many bytes can be read before a mark is invalidated. Sending reset()
will reposition the Stream back to the marked position provided readLimit
has not been surpassed. The underlying buffer may be increased in size to allow
readlimit
number of bytes to be supported.
mark
in class FilterInputStream
readlimit
- the number of bytes to be able to read before invalidating the mark.public boolean markSupported()
true
.
markSupported
in class FilterInputStream
true
for BufferedInputStreams.public int read() throws IOException
read
in class FilterInputStream
IOException
- If the stream is already closed or another IOException occurs.public int read(byte[] buffer, int offset, int length) throws IOException
length
bytes from this BufferedInputStream and stores them in byte
array buffer
starting at offset offset
. Answer the number of bytes
actually read or -1 if no bytes were read and end of stream was encountered. If all the
buffered bytes have been used, a mark has not been set, and the requested number
of bytes is larger than the receiver's buffer size, this implementation bypasses
the buffer and simply places the results directly into buffer
.
read
in class FilterInputStream
buffer
- the byte array in which to store the read bytes.offset
- the offset in buffer
to store the read bytes.length
- the maximum number of bytes to store in buffer
.
IOException
- If the stream is already closed or another IOException occurs.public void reset() throws IOException
readlimit
has
been passed or no mark
has been set, throw IOException. This implementation
resets the target stream.
reset
in class FilterInputStream
IOException
- If the stream is already closed or another IOException occurs.public long skip(long amount) throws IOException
amount
number of bytes in this BufferedInputStream. Subsequent
read()
's will not return these bytes unless reset()
is used.
skip
in class FilterInputStream
amount
- the number of bytes to skip.
IOException
- If the stream is already closed or another IOException occurs.
|
Final | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |