Package org.apache.pdfbox.pdfparser
Class InputStreamSource
java.lang.Object
org.apache.pdfbox.pdfparser.InputStreamSource
- All Implemented Interfaces:
Closeable,AutoCloseable,SequentialSource
A SequentialSource backed by an InputStream.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()longReturns offset of next byte to be returned by a read method.booleanisClosed()Returns true if this source has been closed.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.
-
Field Details
-
input
-
position
private int position -
isOpen
private boolean isOpen
-
-
Constructor Details
-
InputStreamSource
InputStreamSource(InputStream input) Constructor.- Parameters:
input- The input stream to wrap.
-
-
Method Details
-
read
Description copied from interface:SequentialSourceRead a single byte of data.- Specified by:
readin 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:SequentialSourceRead a buffer of data.- Specified by:
readin 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:SequentialSourceRead a buffer of data.- Specified by:
readin 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:SequentialSourceReturns offset of next byte to be returned by a read method.- Specified by:
getPositionin 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:SequentialSourceThis will peek at the next byte.- Specified by:
peekin 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:SequentialSourceUnreads a single byte.- Specified by:
unreadin interfaceSequentialSource- Parameters:
b- byte array to push back- Throws:
IOException- if there is an error while unreading
-
unread
Description copied from interface:SequentialSourceUnreads an array of bytes.- Specified by:
unreadin interfaceSequentialSource- Parameters:
bytes- byte array to be unread- Throws:
IOException- if there is an error while unreading
-
unread
Description copied from interface:SequentialSourceUnreads a portion of an array of bytes.- Specified by:
unreadin 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:SequentialSourceReads a given number of bytes in its entirety.- Specified by:
readFullyin 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:SequentialSourceReturns true if the end of the data source has been reached.- Specified by:
isEOFin 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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
isClosed
Description copied from interface:SequentialSourceReturns true if this source has been closed.- Specified by:
isClosedin interfaceSequentialSource- Returns:
- true if the source has been closed
- Throws:
IOException
-