Package org.apache.pdfbox.pdfparser
Interface SequentialSource
-
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable
- All Known Implementing Classes:
InputStreamSource,RandomAccessSource
interface SequentialSource extends java.io.CloseableA SequentialSource provides access to sequential data for parsing.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description longgetPosition()Returns offset of next byte to be returned by a read method.booleanisEOF()Returns true if the end of the data source has been reached.intpeek()This will peek at the next byte.intread()Read a single byte of data.intread(byte[] b)Read a buffer of data.intread(byte[] b, int offset, int length)Read a buffer of data.byte[]readFully(int length)Reads a given number of bytes in its entirety.voidunread(byte[] bytes)Unreads an array of bytes.voidunread(byte[] bytes, int start, int len)Unreads a portion of an array of bytes.voidunread(int b)Unreads a single byte.
-
-
-
Method Detail
-
read
int read() throws java.io.IOException
Read a single byte of data.- Returns:
- The byte of data that is being read.
- Throws:
java.io.IOException- If there is an error while reading the data.
-
read
int read(byte[] b) throws java.io.IOException
Read a buffer of data.- Parameters:
b- The buffer to write the data to.- Returns:
- The number of bytes that were actually read.
- Throws:
java.io.IOException- If there was an error while reading the data.
-
read
int read(byte[] b, int offset, int length) throws java.io.IOExceptionRead a buffer of data.- Parameters:
b- The buffer to write the data to.offset- Offset into the buffer to start writing.length- The amount of data to attempt to read.- Returns:
- The number of bytes that were actually read.
- Throws:
java.io.IOException- If there was an error while reading the data.
-
getPosition
long getPosition() throws java.io.IOExceptionReturns offset of next byte to be returned by a read method.- Returns:
- offset of next byte which will be returned with next
read()(if no more bytes are left it returns a value >= length of source). - Throws:
java.io.IOException- If there was an error while reading the data.
-
peek
int peek() throws java.io.IOException
This will peek at the next byte.- Returns:
- The next byte on the stream, leaving it as available to read.
- Throws:
java.io.IOException- If there is an error reading the next byte.
-
unread
void unread(int b) throws java.io.IOExceptionUnreads a single byte.- Parameters:
b- byte array to push back- Throws:
java.io.IOException- if there is an error while unreading
-
unread
void unread(byte[] bytes) throws java.io.IOExceptionUnreads an array of bytes.- Parameters:
bytes- byte array to be unread- Throws:
java.io.IOException- if there is an error while unreading
-
unread
void unread(byte[] bytes, int start, int len) throws java.io.IOExceptionUnreads a portion of an array of bytes.- Parameters:
bytes- byte array to be unreadstart- start indexlen- number of bytes to be unread- Throws:
java.io.IOException- if there is an error while unreading
-
readFully
byte[] readFully(int length) throws java.io.IOExceptionReads a given number of bytes in its entirety.- Parameters:
length- the number of bytes to be read- Returns:
- a byte array containing the bytes just read
- Throws:
java.io.IOException- if an I/O error occurs while reading data
-
isEOF
boolean isEOF() throws java.io.IOExceptionReturns true if the end of the data source has been reached.- Returns:
- true if we are at the end of the data.
- Throws:
java.io.IOException- If there is an error reading the next byte.
-
-