public class RandomAccessReadWrapper extends Object implements RandomAccessRead
| Constructor and Description |
|---|
RandomAccessReadWrapper(RandomAccessRead input,
long offset,
long length)
Create a read only wrapper for a RandomAccessRead instance.
|
| Modifier and Type | Method and Description |
|---|---|
int |
available()
Returns an estimate of the number of bytes that can be read.
|
void |
close() |
long |
getPosition()
Returns offset in file at which next byte would be read.
|
boolean |
isClosed()
Returns true if this stream has been closed.
|
boolean |
isEOF()
A simple test to see if we are at the end of the data.
|
long |
length()
The total number of bytes that are available.
|
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 off,
int len)
Read a buffer of data.
|
byte[] |
readFully(int length)
Reads a given number of bytes.
|
void |
rewind(int bytes)
Seek backwards the given number of bytes.
|
void |
seek(long newOffset)
Seeks to new position.
|
public RandomAccessReadWrapper(RandomAccessRead input, long offset, long length) throws IOException
input - the RandomAccessRead instance to be read.offset - offset to start reading at.length - the total length of data to be read.IOException - if something went wrong while accessing the given RandomAccessRead.public long getPosition()
throws IOException
getPosition in interface RandomAccessReadSequentialRead.read()
(if no more bytes are left it returns a value >= length of source)IOExceptionpublic void seek(long newOffset)
throws IOException
seek in interface RandomAccessReadnewOffset - the position to seek to.IOException - if something went wrong.public int read()
throws IOException
SequentialReadread in interface SequentialReadIOException - If there is an error while reading the data.public int read(byte[] b)
throws IOException
SequentialReadread in interface SequentialReadb - The buffer to write the data to.IOException - If there was an error while reading the data.public int read(byte[] b,
int off,
int len)
throws IOException
SequentialReadread in interface SequentialReadb - The buffer to write the data to.off - Offset into the buffer to start writing.len - The amount of data to attempt to read.IOException - If there was an error while reading the data.public int available()
throws IOException
RandomAccessReadavailable in interface RandomAccessReadIOException - if this random access has been closedpublic long length()
throws IOException
RandomAccessReadlength in interface RandomAccessReadIOException - If there is an IO error while determining the
length of the data stream.public void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionpublic boolean isClosed()
RandomAccessReadisClosed in interface RandomAccessReadpublic int peek()
throws IOException
RandomAccessReadpeek in interface RandomAccessReadIOException - If there is an error reading the next byte.public void rewind(int bytes)
throws IOException
RandomAccessReadrewind in interface RandomAccessReadbytes - the number of bytes to be seeked backwardsIOException - If there is an error while seekingpublic byte[] readFully(int length)
throws IOException
RandomAccessReadreadFully in interface RandomAccessReadlength - the number of bytes to be readIOException - if an I/O error occurs while reading datapublic boolean isEOF()
throws IOException
RandomAccessReadisEOF in interface RandomAccessReadIOException - If there is an error reading the next byte.Copyright © 2015–2019 The veraPDF Consortium. All rights reserved.