Package org.apache.pdfbox.pdfparser
Class RandomAccessSource
java.lang.Object
org.apache.pdfbox.pdfparser.RandomAccessSource
- All Implemented Interfaces:
Closeable
,AutoCloseable
,SequentialSource
A SequentialSource backed by a RandomAccessRead.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
long
Returns offset of next byte to be returned by a read method.boolean
isClosed()
Returns true if this source has been closed.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.
-
Field Details
-
reader
-
isOpen
private boolean isOpen
-
-
Constructor Details
-
RandomAccessSource
RandomAccessSource(RandomAccessRead reader) Constructor.- Parameters:
reader
- The random access reader to wrap.
-
-
Method Details
-
read
Description copied from interface:SequentialSource
Read a single byte of data.- Specified by:
read
in interfaceSequentialSource
- Returns:
- The byte of data that is being read.
- Throws:
IOException
- If there is an error while reading the data.
-
read
Description copied from interface:SequentialSource
Read a buffer of data.- Specified by:
read
in interfaceSequentialSource
- Parameters:
b
- The buffer to write the data to.- Returns:
- The number of bytes that were actually read.
- Throws:
IOException
- If there was an error while reading the data.
-
read
Description copied from interface:SequentialSource
Read a buffer of data.- Specified by:
read
in interfaceSequentialSource
- 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:
IOException
- If there was an error while reading the data.
-
getPosition
Description copied from interface:SequentialSource
Returns offset of next byte to be returned by a read method.- Specified by:
getPosition
in interfaceSequentialSource
- Returns:
- offset of next byte which will be returned with next
SequentialSource.read()
(if no more bytes are left it returns a value >= length of source). - Throws:
IOException
- If there was an error while reading the data.
-
peek
Description copied from interface:SequentialSource
This will peek at the next byte.- Specified by:
peek
in interfaceSequentialSource
- Returns:
- The next byte on the stream, leaving it as available to read.
- Throws:
IOException
- If there is an error reading the next byte.
-
unread
Description copied from interface:SequentialSource
Unreads a single byte.- Specified by:
unread
in interfaceSequentialSource
- Parameters:
b
- byte array to push back- Throws:
IOException
- if there is an error while unreading
-
unread
Description copied from interface:SequentialSource
Unreads an array of bytes.- Specified by:
unread
in interfaceSequentialSource
- Parameters:
bytes
- byte array to be unread- Throws:
IOException
- if there is an error while unreading
-
unread
Description copied from interface:SequentialSource
Unreads a portion of an array of bytes.- Specified by:
unread
in interfaceSequentialSource
- Parameters:
bytes
- byte array to be unreadstart
- start indexlen
- number of bytes to be unread- Throws:
IOException
- if there is an error while unreading
-
readFully
Description copied from interface:SequentialSource
Reads a given number of bytes in its entirety.- Specified by:
readFully
in interfaceSequentialSource
- Parameters:
length
- the number of bytes to be read- Returns:
- a byte array containing the bytes just read
- Throws:
IOException
- if an I/O error occurs while reading data
-
isEOF
Description copied from interface:SequentialSource
Returns true if the end of the data source has been reached.- Specified by:
isEOF
in interfaceSequentialSource
- Returns:
- true if we are at the end of the data.
- Throws:
IOException
- If there is an error reading the next byte.
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
isClosed
Description copied from interface:SequentialSource
Returns true if this source has been closed.- Specified by:
isClosed
in interfaceSequentialSource
- Returns:
- true if the source has been closed
- Throws:
IOException
-