public class SequenceRandomAccessRead extends Object implements RandomAccessRead
Constructor and Description |
---|
SequenceRandomAccessRead(List<RandomAccessRead> randomAccessReadList) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
RandomAccessReadView |
createView(long startPosition,
long streamLength)
Creates a random access read view starting at the given position with the given length.
|
long |
getPosition()
Returns offset of next byte to be returned by a read method.
|
boolean |
isClosed()
Returns true if this source 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 |
read()
Read a single byte of data.
|
int |
read(byte[] b,
int offset,
int length)
Read a buffer of data.
|
void |
seek(long position)
Seek to a position in the data.
|
public SequenceRandomAccessRead(List<RandomAccessRead> randomAccessReadList)
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public int read() throws IOException
RandomAccessRead
read
in interface RandomAccessRead
IOException
- If there is an error while reading the data.public int read(byte[] b, int offset, int length) throws IOException
RandomAccessRead
read
in interface RandomAccessRead
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.IOException
- If there was an error while reading the data.public long getPosition() throws IOException
RandomAccessRead
getPosition
in interface RandomAccessRead
RandomAccessRead.read()
(if no more bytes are left it
returns a value >= length of source)IOException
- If there was an error while getting the current positionpublic void seek(long position) throws IOException
RandomAccessRead
seek
in interface RandomAccessRead
position
- The position to seek to.IOException
- If there is an error while seeking.public long length() throws IOException
RandomAccessRead
length
in interface RandomAccessRead
IOException
- If there is an IO error while determining the length of the data stream.public boolean isClosed()
RandomAccessRead
isClosed
in interface RandomAccessRead
public boolean isEOF() throws IOException
RandomAccessRead
isEOF
in interface RandomAccessRead
IOException
- If there is an error reading the next byte.public RandomAccessReadView createView(long startPosition, long streamLength) throws IOException
RandomAccessRead
createView
in interface RandomAccessRead
startPosition
- start position within the underlying random access readstreamLength
- stream lengthIOException
- if something went wrong when creating the view for the RandomAccessReadCopyright © 2002–2022 The Apache Software Foundation. All rights reserved.