|
Final | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| 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 FilterInputStreamIOException - If an error occurs in this stream.public void close()
throws IOException
close in interface Closeableclose in class FilterInputStreamIOException - 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 FilterInputStreamreadlimit - the number of bytes to be able to read before invalidating the mark.public boolean markSupported()
true.
markSupported in class FilterInputStreamtrue for BufferedInputStreams.public int read()
throws IOException
read in class FilterInputStreamIOException - 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 FilterInputStreambuffer - 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 FilterInputStreamIOException - 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 FilterInputStreamamount - 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 | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||