public class RandomAccessFileReader extends RandomAccessReader
RandomAccessFile, with a consistent, checked exception structure for
issues.| Constructor and Description |
|---|
RandomAccessFileReader(RandomAccessFile file) |
| 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()
Returns the length of the data source in 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, setMotorolaByteOrderpublic RandomAccessFileReader(RandomAccessFile file) throws IOException
IOExceptionpublic long getLength()
RandomAccessReader
This is a simple operation for implementations (such as RandomAccessFileReader and
ByteArrayReader) that have the entire data source available.
Users of this method must be aware that sequentially accessed implementations such as
RandomAccessStreamReader will have to read and buffer the entire data source in
order to determine the length.
getLength in class RandomAccessReaderprotected byte getByte(int index)
throws IOException
RandomAccessReaderindex.
Implementations should not perform any bounds checking in this method. That should be performed
in validateIndex and isValidIndex.
getByte in class RandomAccessReaderindex - 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
RandomAccessReadergetBytes in class RandomAccessReaderindex - 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 readprotected boolean isValidIndex(int index,
int bytesRequested)
throws IOException
isValidIndex in class RandomAccessReaderIOExceptionprotected void validateIndex(int index,
int bytesRequested)
throws IOException
RandomAccessReader
If the stream ends before the point is reached, a BufferBoundsException is raised.
validateIndex in class RandomAccessReaderindex - the index from which the required bytes startbytesRequested - the number of bytes which are requiredIOException - if the stream ends before the required number of bytes are acquiredCopyright © 2002-2015 Drew Noakes. All Rights Reserved.