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.