I am reading the directions for my test, and have encountered some areas that are not clear. There are some periods missing as well which does not help. In the directions it states:
The format of data in the database file is as follows:
Start of file 4 byte numeric, magic cookie value. Identifies this as a data file 4 byte numeric, total overall length in bytes of each record 2 byte numeric, number of fields in each record
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
Data section. Repeat to end of file: 1 byte "deleted" flag. 0 implies valid record, 1 implies deleted record Record containing fields in order specified in schema section, no separators between fields, each field fixed length at maximum specified in schema information
End of file
All numeric values (that?) are stored in the header information use the formats of the DataInputStream and DataOutputStream classes. All text values, and all fields (which are text only), contain only 8 bit characters, null terminated if less than the maximum length for the field. The character encoding is 8 bit US ASCII.
Can anyone perhaps translate this? Better yet, maybe a picture example? Sorry for my incredible green-ness in this matter, but this bit of the instructions are really, really unclear to me. I understand they are trying to tell me how the data is formatted in the file, but after that I am lost.
Indeed, Roberto's Database File Reader will be a great help (link can be found in ScjdFaq).
To understand how data is stored in the database file, I wrote myself a little program which just prints all contents from the file in a readable format. To give you a start: the first value is the magic cookie value, it's 4 byte numeric. So this will print your magic cookie: