PushbackInputStream
The
java.io.PushbackInputStream
class provides a pushback buffer so a
program can “unread” the last several bytes read. The
next time data is read from the stream, the unread bytes are reread.
public void unread(int b) throws IOException public void unread(byte[] data, int offset, int length) throws IOException public void unread(byte[] data) throws IOException
By default the buffer is only one byte long, and trying to unread
more than one byte throws an IOException
. However,
you can change the default buffer size with the second constructor:
public PushbackInputStream(InputStream in) public PushbackInputStream(InputStream in, int size)
Although both
PushbackInputStream
and
BufferedInputStream
use buffers, only a
PushbackInputStream
allows unreading, and only a
BufferedInputStream
allows marking and resetting.
In a PushbackInputStream
,
markSupported()
returns false.
public boolean markSupported()
The read()
and available()
methods work exactly as with normal input streams. However, they
first attempt to read from the pushback buffer.
public int read() throws IOException public int read(byte[] data, int offset, int length) throws IOException public int available() throws IOException
Get Java I/O now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.