Forums Register Login

Can someone explain this in better english for me ?

+Pie Number of slices to send: Send
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


I understand the 1st 4 bytes of the file and have identified my magic number. It then says there is another 4 bytes that give the length in bytes of each record. Now is that the bytes from number 4-8? Surely it cant be the same value as the magic cookie?

Also
In the schema section it says that n bytes defined be previous entry. Previous entry what? Length?

I feel very confused.
+Pie Number of slices to send: Send
I would just like to add that i used randomAccessFile with skipBytes() and readInt to get these values
Magic cookie = 513
The readInt method from bytes 4-8 return 182 does that mean that 182 is the length of each record?

Edit *** I just found out that these values match the supplied information. Should I therefore be using a class that calculates the record length for each contractor or can I use my own created class that calculated the record length with the supplied information? I dont want to add any reundant code to this assignment.
+Pie Number of slices to send: Send
Hi Yucca, I had the exact problem you did when I started my assignment. Let see if I can help:
Since you use RandomAccessFile to read/write your data. Then 4 bytes= integer, 2 bytes=short right? Then right off the bat when you first read your data file your should able to do this given raf is the RandomAccessFile:



Reading the data section uses the same idea - readByte to read the delete flag, for loop to read each field's value. Oh to get a String you can use new String(byte[]) constructor.

Now of course you don't neccessarily need to read the header everytime. That's why the pointer variable enables you to use the raf.seek() method to jump around. Another decision to make is how many time to read the magic cookie value.

Hope this helps.
She's brilliant. She can see what can be and is not limited to what is. And she knows this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 1484 times.
Similar Threads
Delete Flag Empty -does this imply record valid?
Deciphering the instructions
How to check the B&S db file is in correct format?
URLyBird Data File Format
how to read data from db file
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 05:38:10.