| java.lang.Object java.io.InputStream java.io.FilterInputStream java.io.PushbackInputStream
PushbackInputStream | public class PushbackInputStream extends FilterInputStream (Code) | | PushbackInputStream is a filter class which allows bytes read to be pushed
back into the stream so that they can be reread. Parsers may find this
useful. There is a progammable limit to the number of bytes which may be
pushed back. If the buffer of pushed back bytes is empty, bytes are read from
the source input stream.
|
Field Summary | |
protected byte[] | buf The byte array containing the bytes to read. | protected int | pos The current position within the byte array buf . |
Method Summary | |
public int | available() Answers a int representing then number of bytes that are available before
this PushbackInputStream will block. | public void | close() Close this PushbackInputStream. | public void | mark(int readlimit) Make a mark of the current position in the stream but the mark method
does nothing. | public boolean | markSupported() Answers a boolean indicating whether or not this PushbackInputStream
supports mark() and reset(). | public int | read() Reads a single byte from this PushbackInputStream and returns the result
as an int. | public int | read(byte[] buffer, int offset, int length) Reads at most length bytes from this PushbackInputStream
and stores them in byte array buffer starting at
offset . | public void | reset() Reset current position to the mark made previously int the stream, but
the reset method will throw IOException and do nothing else if called. | public long | skip(long count) Skips count number of bytes in this PushbackInputStream.
Subsequent read() 's will not return these bytes unless
reset() is used. | public void | unread(byte[] buffer) Push back all the bytes in buffer . | public void | unread(byte[] buffer, int offset, int length) Push back length number of bytes in buffer
starting at offset . | public void | unread(int oneByte) Push back one byte . |
buf | protected byte[] buf(Code) | | The byte array containing the bytes to read.
|
pos | protected int pos(Code) | | The current position within the byte array buf . A value
equal to buf.length indicates no bytes available. A value of 0 indicates
the buffer is full.
|
PushbackInputStream | public PushbackInputStream(InputStream in)(Code) | | Constructs a new PushbackInputStream on the InputStream in .
The size of the pushback buffer is set to the default, or 1 byte.
Parameters: in - the InputStream to allow pushback operations on. |
PushbackInputStream | public PushbackInputStream(InputStream in, int size)(Code) | | Constructs a new PushbackInputStream on the InputStream in .
The size of the pushback buffer is set to size .
Parameters: in - the InputStream to allow pushback operations on. Parameters: size - the size of the pushback buffer (size>=0 ). |
available | public int available() throws IOException(Code) | | Answers a int representing then number of bytes that are available before
this PushbackInputStream will block. This method returns the number of
bytes available in the pushback buffer plus those available in the target
stream.
int the number of bytes available before blocking. throws: java.io.IOException - If an error occurs in this stream. |
close | public void close() throws IOException(Code) | | Close this PushbackInputStream. This implementation closes the target
stream.
throws: IOException - If an error occurs attempting to close this stream. |
mark | public void mark(int readlimit)(Code) | | Make a mark of the current position in the stream but the mark method
does nothing.
Parameters: readlimit - the maximum number of bytes that are able to be read beforethe mark becomes invalid See Also: FilterInputStream.mark(int) |
markSupported | public boolean markSupported()(Code) | | Answers a boolean indicating whether or not this PushbackInputStream
supports mark() and reset(). This implementation always answers false
since PushbackInputStreams do not support mark/reset.
boolean indicates whether or not mark() and reset() aresupported. |
read | public int read() throws IOException(Code) | | Reads a single byte from this PushbackInputStream and returns the result
as an int. The low-order byte is returned or -1 of the end of stream was
encountered. If the pushback buffer does not contain any available bytes
then a byte from the target input stream is returned.
int The byte read or -1 if end of stream. throws: IOException - If an IOException occurs. |
read | public int read(byte[] buffer, int offset, int length) throws IOException(Code) | | Reads at most length bytes from this PushbackInputStream
and stores them in byte array buffer starting at
offset . Answer the number of bytes actually read or -1 if
no bytes were read and end of stream was encountered. This implementation
reads bytes from the pushback buffer first, then the target stream if
more bytes are required to satisfy count .
Parameters: buffer - the byte array in which to store the read bytes. Parameters: offset - the offset in buffer to store the read bytes. Parameters: length - the maximum number of bytes to store in buffer . the number of bytes actually read or -1 if end of stream. throws: IOException - If an IOException occurs. |
reset | public void reset() throws IOException(Code) | | Reset current position to the mark made previously int the stream, but
the reset method will throw IOException and do nothing else if called.
throws: IOException - If the method is called See Also: FilterInputStream.reset |
skip | public long skip(long count) throws IOException(Code) | | Skips count number of bytes in this PushbackInputStream.
Subsequent read() 's will not return these bytes unless
reset() is used. This implementation skips
count number of bytes in the buffer and/or the target
stream.
Parameters: count - the number of bytes to skip. the number of bytes actually skipped. throws: IOException - If the stream is already closed or another IOExceptionoccurs. |
unread | public void unread(byte[] buffer) throws IOException(Code) | | Push back all the bytes in buffer . The bytes are pushed
so that they would be read back buffer[0], buffer[1], etc. If the push
back buffer cannot handle the entire contents of buffer ,
an IOException will be thrown. Some of the buffer may already be in the
buffer after the exception is thrown.
Parameters: buffer - the byte array containing bytes to push back into the stream. throws: IOException - If the pushback buffer becomes, or is, full. |
unread | public void unread(byte[] buffer, int offset, int length) throws IOException(Code) | | Push back length number of bytes in buffer
starting at offset . The bytes are pushed so that they
would be read back buffer[offset], buffer[offset+1], etc. If the push
back buffer cannot handle the bytes copied from buffer ,
an IOException will be thrown. Some of the bytes may already be in the
buffer after the exception is thrown.
Parameters: buffer - the byte array containing bytes to push back into the stream. Parameters: offset - the location to start taking bytes to push back. Parameters: length - the number of bytes to push back. throws: IOException - If the pushback buffer becomes, or is, full. |
unread | public void unread(int oneByte) throws IOException(Code) | | Push back one byte . Takes the byte oneByte
and puts in in the local buffer of bytes to read back before accessing
the target input stream.
Parameters: oneByte - the byte to push back into the stream. throws: IOException - If the pushback buffer is already full. |
|
|