Hi Matt,
Just try it one value at a time. And when you are finished, you'll see that it truely was not that hard (like it seems now

) I will put you in the right direction but of course I won't give the complete solution.
Start of file 4 byte numeric, magic cookie value.
So the 1st thing you have to read is a 4 byte numeric, which represents the magic cookie value. According to the javadoc of RandomAccessFile I'll use the readInt-method to do so.
4 byte numeric, total overall length in bytes of each record
Again 4 byte numeric, so again the readInt-method. This value represents the total overall length in bytes of each record.
2 byte numeric, number of fields in each record
Just 2 bytes now, having a look at the javadoc once again, readShort-method is the one you need. The value you have read identifies the number of fields in each record. Which is important for the next part, stay tuned!
Schema description section. Repeated for each field in a record: 2 byte numeric, length in bytes of field name n bytes (defined by previous entry), field name 2 byte numeric, field length in bytes end of repeating block
So this part is the schema description. Like the instructions say, repeated for each field, so you'll have to use a loop (you just have read the number of fields in a record). For each field in this schema description you'll have to read 3 things:
a) 2 bytes = number of bytes of the field name (readShort-method again)
b) n bytes = name of the field (create a byte[] with length equals to the value from a) and use the read-method that takes a byte[] as parameter
c) 2 bytes = length of the field (readShort once again)
Now it's up to you!
Kind regards,
Roel