ByteReader

com.etdon.commons.io

The ByteReader class can be used to process byte arrays from any source in a sequence to primitive Java types. It supports reading in both little-endian and big-endian order.

Below you can find an example of how to read file formats using the ByteReader:

final ByteReader byteReader = new ByteReader(input);
final byte[] magic = byteReader.readBytes(16);

int pageSize = byteReader.readBigEndianShort();
if (pageSize == 1) pageSize = 65536;

final byte writeVersion = byteReader.readByte();
final byte readVersion = byteReader.readByte();

final byte reservedPageSpace = byteReader.readByte();
final byte maximumEmbeddedPayloadFraction = byteReader.readByte();
final byte minimumEmbeddedPayloadFraction = byteReader.readByte();
final byte leafPayloadFraction = byteReader.readByte();
final int fileChangeCounter = byteReader.readBigEndianInteger();
final int databasePageSize = byteReader.readBigEndianInteger();
final int firstFreelistTrunkPage = byteReader.readBigEndianInteger();
final int freelistPageCount = byteReader.readBigEndianInteger();
final int schemaCookie = byteReader.readBigEndianInteger();
final int schemaFormat = byteReader.readBigEndianInteger();
...

Last updated