org.pdfbox.io

Class PushBackInputStream

Known Direct Subclasses:
ByteArrayPushBackInputStream

public class PushBackInputStream
extends java.io.PushbackInputStream

A simple subclass that adds a few convience methods.
Version:
$Revision: 1.6 $
Author:
Ben Litchfield

Constructor Summary

PushBackInputStream(InputStream input, int size)
Constructor.

Method Summary

void
fillBuffer()
This is a method used to fix PDFBox issue 974661, the PDF parsing code needs to know if there is at least x amount of data left in the stream, but the available() method returns how much data will be available without blocking.
boolean
isEOF()
A simple test to see if we are at the end of the stream.
int
peek()
This will peek at the next byte.

Constructor Details

PushBackInputStream

public PushBackInputStream(InputStream input,
                           int size)
            throws IOException
Constructor.
Parameters:
input - The input stream.
size - The size of the push back buffer.

Method Details

fillBuffer

public void fillBuffer()
            throws IOException
This is a method used to fix PDFBox issue 974661, the PDF parsing code needs to know if there is at least x amount of data left in the stream, but the available() method returns how much data will be available without blocking. PDFBox is willing to block to read the data, so we will first fill the internal buffer.

isEOF

public boolean isEOF()
            throws IOException
A simple test to see if we are at the end of the stream.
Returns:
true if we are at the end of the stream.

peek

public int peek()
            throws IOException
This will peek at the next byte.
Returns:
The next byte on the stream, leaving it as available to read.