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.Closeable
A SequentialSource provides access to sequential data for parsing.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description long
getPosition()
Returns offset of next byte to be returned by a read method.boolean
isEOF()
Returns true if the end of the data source has been reached.int
peek()
This will peek at the next byte.int
read()
Read a single byte of data.int
read(byte[] b)
Read a buffer of data.int
read(byte[] b, int offset, int length)
Read a buffer of data.byte[]
readFully(int length)
Reads a given number of bytes in its entirety.void
unread(byte[] bytes)
Unreads an array of bytes.void
unread(byte[] bytes, int start, int len)
Unreads a portion of an array of bytes.void
unread(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.IOException
Read 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.IOException
Returns 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.IOException
Unreads 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.IOException
Unreads 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.IOException
Unreads 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.IOException
Reads 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.IOException
Returns 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.
-
-