Package com.drew.lang
Class ByteArrayReader
- java.lang.Object
 - 
- com.drew.lang.RandomAccessReader
 - 
- com.drew.lang.ByteArrayReader
 
 
 
- 
public class ByteArrayReader extends RandomAccessReader
Provides methods to read specific values from a byte array, with a consistent, checked exception structure for issues.By default, the reader operates with Motorola byte order (big endianness). This can be changed by calling
setMotorolaByteOrder(boolean). 
- 
- 
Constructor Summary
Constructors Constructor Description ByteArrayReader(byte[] buffer)ByteArrayReader(byte[] buffer, int baseOffset) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description bytegetByte(int index)Gets the byte value at the specified byteindex.byte[]getBytes(int index, int count)Returns the required number of bytes from the specified index from the underlying source.longgetLength()Returns the length of the data source in bytes.inttoUnshiftedOffset(int localOffset)- 
Methods inherited from class com.drew.lang.RandomAccessReader
getBit, getDouble64, getFloat32, getInt16, getInt24, getInt32, getInt64, getInt8, getNullTerminatedBytes, getNullTerminatedString, getNullTerminatedStringValue, getS15Fixed16, getString, getString, getStringValue, getUInt16, getUInt32, getUInt8, isMotorolaByteOrder, setMotorolaByteOrder 
 - 
 
 - 
 
- 
- 
Method Detail
- 
toUnshiftedOffset
public int toUnshiftedOffset(int localOffset)
- Specified by:
 toUnshiftedOffsetin classRandomAccessReader
 
- 
getLength
public long getLength()
Description copied from class:RandomAccessReaderReturns the length of the data source in bytes.This is a simple operation for implementations (such as
RandomAccessFileReaderandByteArrayReader) that have the entire data source available.Users of this method must be aware that sequentially accessed implementations such as
RandomAccessStreamReaderwill have to read and buffer the entire data source in order to determine the length.- Specified by:
 getLengthin classRandomAccessReader- Returns:
 - the length of the data source, in bytes.
 
 
- 
getByte
public byte getByte(int index) throws java.io.IOExceptionDescription copied from class:RandomAccessReaderGets the byte value at the specified byteindex.Implementations should not perform any bounds checking in this method. That should be performed in
validateIndexandisValidIndex.- Specified by:
 getBytein classRandomAccessReader- Parameters:
 index- The index from which to read the byte- Returns:
 - The read byte value
 - Throws:
 BufferBoundsException- if the requested byte is beyond the end of the underlying data sourcejava.io.IOException- if the byte is unable to be read
 
- 
getBytes
public byte[] getBytes(int index, int count) throws java.io.IOExceptionDescription copied from class:RandomAccessReaderReturns the required number of bytes from the specified index from the underlying source.- Specified by:
 getBytesin classRandomAccessReader- Parameters:
 index- The index from which the bytes begins in the underlying sourcecount- The number of bytes to be returned- Returns:
 - The requested bytes
 - Throws:
 BufferBoundsException- if the requested bytes extend beyond the end of the underlying data sourcejava.io.IOException- if the byte is unable to be read
 
 - 
 
 -