|
Build 1.0_r1(from source) | |||||||||
| 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.PushbackInputStream
public class PushbackInputStream
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. |
| Fields inherited from class java.io.FilterInputStream |
|---|
in |
| Constructor Summary | |
|---|---|
PushbackInputStream(InputStream in)
Constructs a new PushbackInputStream on the InputStream in. |
|
PushbackInputStream(InputStream in,
int size)
Constructs a new PushbackInputStream on the InputStream in. |
|
| Method Summary | |
|---|---|
int |
available()
Returns a int representing then number of bytes that are available before this PushbackInputStream will block. |
void |
close()
Close this PushbackInputStream. |
void |
mark(int readlimit)
Make a mark of the current position in the stream but the mark method does nothing. |
boolean |
markSupported()
Returns a boolean indicating whether or not this PushbackInputStream supports mark() and reset(). |
int |
read()
Reads a single byte from this PushbackInputStream and returns the result as an int. |
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. |
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. |
long |
skip(long count)
Skips count number of bytes in this PushbackInputStream. |
void |
unread(byte[] buffer)
Push back all the bytes in buffer. |
void |
unread(byte[] buffer,
int offset,
int length)
Push back length number of bytes in buffer
starting at offset. |
void |
unread(int oneByte)
Push back one byte. |
| 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 byte[] buf
byte array containing the bytes to read.
protected int pos
buf. A value
equal to buf.length indicates no bytes available. A value of 0 indicates
the buffer is full.
| Constructor Detail |
|---|
public PushbackInputStream(InputStream in)
in.
The size of the pushback buffer is set to the default, or 1 byte.
in - the InputStream to allow pushback operations on.
public PushbackInputStream(InputStream in,
int size)
in.
The size of the pushback buffer is set to size.
in - the InputStream to allow pushback operations on.size - the size of the pushback buffer (size>=0).| 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 boolean markSupported()
markSupported in class FilterInputStream
public int read()
throws IOException
read in class FilterInputStreamIOException - If an IOException occurs.
public int read(byte[] buffer,
int offset,
int length)
throws IOException
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.
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 an IOException occurs.
public long skip(long count)
throws IOException
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.
skip in class FilterInputStreamcount - the number of bytes to skip.
IOException - If the stream is already closed or another IOException
occurs.
public void unread(byte[] buffer)
throws IOException
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.
buffer - the byte array containing bytes to push back into the stream.
IOException - If the pushback buffer becomes, or is, full.
public void unread(byte[] buffer,
int offset,
int length)
throws IOException
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.
buffer - the byte array containing bytes to push back into the stream.offset - the location to start taking bytes to push back.length - the number of bytes to push back.
IOException - If the pushback buffer becomes, or is, full.
public void unread(int oneByte)
throws IOException
byte. Takes the byte oneByte
and puts in in the local buffer of bytes to read back before accessing
the target input stream.
oneByte - the byte to push back into the stream.
IOException - If the pushback buffer is already full.public void mark(int readlimit)
mark in class FilterInputStreamreadlimit - the maximum number of bytes that are able to be read before
the mark becomes invalid
public void reset()
throws IOException
reset in class FilterInputStreamIOException - If the method is called
|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||