| java.io.PushbackInputStream org.pdfbox.io.PushBackInputStream org.pdfbox.io.ByteArrayPushBackInputStream
ByteArrayPushBackInputStream | public class ByteArrayPushBackInputStream extends PushBackInputStream (Code) | | PushBackInputStream for byte arrays.
The inheritance from PushBackInputStream is only to avoid the
introduction of an interface with all PushBackInputStream
methods. The parent PushBackInputStream is not used in any way and
all methods are overridden. (Thus when adding new methods to PushBackInputStream
override them in this class as well!)
unread() is limited to the number of bytes already read from this stream (i.e.
the current position in the array). This limitation usually poses no problem
to a parser, but allows for some optimization since only one array has to
be dealt with.
Note: This class is not thread safe. Clients must provide synchronization
if needed.
Note: Calling unread() after mark() will cause (part of) the unread data to be
read again after reset(). Thus do not call unread() between mark() and reset().
author: Andreas Weiss (andreas.weiss@switzerland.org) version: $Revision: 1.2 $ |
Method Summary | |
public int | available() Available bytes. | public boolean | isEOF() A simple test to see if we are at the end of the stream. | public int | localRead(byte[] buffer, int off, int len) Read a number of bytes. | public void | mark(int readlimit) Save the state of this stream. | public boolean | markSupported() Check if mark is supported. | public int | peek() This will peek at the next byte. | public int | read() Read a byte. | public int | read(byte[] buffer) Read a number of bytes.
See Also: InputStream.read(byte[]) Parameters: buffer - the buffer into which the data is read. | public int | read(byte[] buffer, int off, int len) Read a number of bytes.
See Also: InputStream.read(byte[]intint) Parameters: buffer - the buffer into which the data is read. Parameters: off - the start offset in array buffer at which the data is written. Parameters: len - the maximum number of bytes to read. | public void | reset() Restore the state of this stream to the last saveState call. | public int | seek(int newpos) Position the stream at a given index. | public int | size() Totally available bytes in the underlying array. | public long | skip(long num) Skips over and discards n bytes of data from this input stream. | public void | unread(int by) Pushes back a byte. | public void | unread(byte[] buffer, int off, int len) Pushes back a portion of an array of bytes by copying it to the
front of the pushback buffer. | public void | unread(byte[] buffer) Pushes back a portion of an array of bytes by copying it to the
front of the pushback buffer. |
ByteArrayPushBackInputStream | public ByteArrayPushBackInputStream(byte[] input) throws IOException(Code) | | Constructor.
Parameters: input - Data to read from. Note that calls to unread() willmodify this array! If this is not desired, pass a copy. throws: IOException - If there is an IO error. |
isEOF | public boolean isEOF()(Code) | | A simple test to see if we are at the end of the stream.
true if we are at the end of the stream. |
localRead | public int localRead(byte[] buffer, int off, int len)(Code) | | Read a number of bytes. Internal method that assumes off and len to be
valid.
See Also: InputStream.read(byte[]intint) Parameters: buffer - the buffer into which the data is read. Parameters: off - the start offset in array buffer at which the data is written. Parameters: len - the maximum number of bytes to read. the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached. |
mark | public void mark(int readlimit)(Code) | | Save the state of this stream.
Parameters: readlimit - Has no effect. See Also: InputStream.mark(int) |
peek | public int peek()(Code) | | This will peek at the next byte.
The next byte on the stream, leaving it as available to read. |
read | public int read()(Code) | | Read a byte.
See Also: InputStream.read Byte read or -1 if no more bytes are available. |
read | public int read(byte[] buffer)(Code) | | Read a number of bytes.
See Also: InputStream.read(byte[]) Parameters: buffer - the buffer into which the data is read. the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached. |
read | public int read(byte[] buffer, int off, int len)(Code) | | Read a number of bytes.
See Also: InputStream.read(byte[]intint) Parameters: buffer - the buffer into which the data is read. Parameters: off - the start offset in array buffer at which the data is written. Parameters: len - the maximum number of bytes to read. the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached. |
reset | public void reset()(Code) | | Restore the state of this stream to the last saveState call.
See Also: InputStream.reset |
seek | public int seek(int newpos)(Code) | | Position the stream at a given index. Positioning the stream
at position size() will cause the next call to read() to return -1.
Parameters: newpos - Position in the underlying array. A negative value will be interpreted as 0, a value greater than size() as size(). old position. |
size | public int size()(Code) | | Totally available bytes in the underlying array.
Available bytes. |
skip | public long skip(long num)(Code) | | Skips over and discards n bytes of data from this input stream.
The skip method may, for a variety of reasons, end up skipping over some
smaller number of bytes, possibly 0. This may result from any of a number
of conditions; reaching end of file before n bytes have been skipped is
only one possibility. The actual number of bytes skipped is returned.
If n is negative, no bytes are skipped.
Parameters: num - the number of bytes to be skipped. the actual number of bytes skipped. See Also: InputStream.skip(long) |
unread | public void unread(int by) throws IOException(Code) | | Pushes back a byte.
After this method returns, the next byte to be read will have the value (byte)by.
Parameters: by - the int value whose low-order byte is to be pushed back. throws: IOException - - If there is not enough room in the buffer for the byte. See Also: java.io.PushbackInputStream.unread(int) |
unread | public void unread(byte[] buffer, int off, int len) throws IOException(Code) | | Pushes back a portion of an array of bytes by copying it to the
front of the pushback buffer. After this method returns, the next byte
to be read will have the value b[off], the byte after that will have
the value b[off+1], and so forth.
Parameters: buffer - the byte array to push back. Parameters: off - the start offset of the data. Parameters: len - the number of bytes to push back. throws: IOException - If there is not enough room in the pushback buffer for the specified number of bytes. See Also: java.io.PushbackInputStream.unread(byte[]intint) |
unread | public void unread(byte[] buffer) throws IOException(Code) | | Pushes back a portion of an array of bytes by copying it to the
front of the pushback buffer. After this method returns, the next byte
to be read will have the value buffer[0], the byte after that will have
the value buffer[1], and so forth.
Parameters: buffer - the byte array to push back. throws: IOException - If there is not enough room in the pushback buffer for the specified number of bytes. See Also: java.io.PushbackInputStream.unread(byte[]) |
|
|