public class NonSeekableRandomAccessReadInputStream extends Object implements RandomAccessRead
Modifier and Type | Field and Description |
---|---|
protected int |
currentBufferPointer |
protected long |
position |
protected long |
size |
Constructor and Description |
---|
NonSeekableRandomAccessReadInputStream(InputStream inputStream)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkClosed()
Ensure that the RandomAccessBuffer is not closed
|
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 |
rewind(int bytes)
Seek backwards the given number of bytes.
|
void |
seek(long position)
Seek to a position in the data.
|
void |
skip(int length)
Skips a given number of bytes.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
available, peek, read
protected long position
protected int currentBufferPointer
protected long size
public NonSeekableRandomAccessReadInputStream(InputStream inputStream)
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public void seek(long position) throws IOException
seek
in interface RandomAccessRead
position
- The position to seek to.IOException
- If there is an error while seeking.public void skip(int length) throws IOException
RandomAccessRead
skip
in interface RandomAccessRead
length
- the number of bytes to be skippedIOException
- if an I/O error occurs while reading datapublic long getPosition() throws IOException
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 int read() throws IOException
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
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 length() throws IOException
length
in interface RandomAccessRead
IOException
- If there is an IO error while determining the length of the data stream.public void rewind(int bytes) throws IOException
RandomAccessRead
rewind
in interface RandomAccessRead
bytes
- the number of bytes to be seeked backwardsIOException
- If there is an error while seekingprotected void checkClosed() throws IOException
IOException
- If RandomAccessBuffer already closedpublic boolean isClosed()
isClosed
in interface RandomAccessRead
public boolean isEOF() throws IOException
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–2024 The Apache Software Foundation. All rights reserved.