public class RandomAccessStreamReader extends RandomAccessReader
Constructor and Description |
---|
RandomAccessStreamReader(InputStream stream) |
RandomAccessStreamReader(InputStream stream,
int chunkLength) |
Modifier and Type | Method and Description |
---|---|
protected byte |
getByte(int index)
Gets the byte value at the specified byte
index . |
byte[] |
getBytes(int index,
int count)
Returns the required number of bytes from the specified index from the underlying source.
|
long |
getLength()
Reads to the end of the stream, in order to determine the total number of bytes.
|
protected boolean |
isValidIndex(int index,
int bytesRequested) |
protected void |
validateIndex(int index,
int bytesRequested)
Ensures that the buffered bytes extend to cover the specified index.
|
getDouble64, getFloat32, getInt16, getInt32, getInt64, getInt8, getNullTerminatedString, getS15Fixed16, getString, getString, getUInt16, getUInt32, getUInt8, isMotorolaByteOrder, setMotorolaByteOrder
public RandomAccessStreamReader(InputStream stream)
public RandomAccessStreamReader(InputStream stream, int chunkLength)
public long getLength() throws IOException
RandomAccessReader
.getLength
in class RandomAccessReader
IOException
protected void validateIndex(int index, int bytesRequested) throws IOException
BufferBoundsException
is raised.validateIndex
in class RandomAccessReader
index
- the index from which the required bytes startbytesRequested
- the number of bytes which are requiredBufferBoundsException
- if the stream ends before the required number of bytes are acquiredIOException
- if the stream ends before the required number of bytes are acquiredprotected boolean isValidIndex(int index, int bytesRequested) throws IOException
isValidIndex
in class RandomAccessReader
IOException
protected byte getByte(int index) throws IOException
RandomAccessReader
index
.
Implementations should not perform any bounds checking in this method. That should be performed
in validateIndex
and isValidIndex
.
getByte
in class RandomAccessReader
index
- The index from which to read the byteBufferBoundsException
- if the requested byte is beyond the end of the underlying data sourceIOException
- if the byte is unable to be readpublic byte[] getBytes(int index, int count) throws IOException
RandomAccessReader
getBytes
in class RandomAccessReader
index
- The index from which the bytes begins in the underlying sourcecount
- The number of bytes to be returnedBufferBoundsException
- if the requested bytes extend beyond the end of the underlying data sourceIOException
- if the byte is unable to be readCopyright © 2002-2015 Drew Noakes. All Rights Reserved.