Hi Jo,
I think the reason the answer is (b) is due to the use of the seek method on line 12. Seek will position the file pointer at the end of the fifth byte from the beginning of the file. Remember that File I/O is about reading and writing bytes. So in our case
The first value is Boolean 'true' (1 Byte Long)
The next is int '123456'(4 Bytes Long)
So the int '7890' is written starting from the end of byte number 5.
On line 13 you then read the an int at that position using the call to file.readInt(). Recall that int values are 4 bytes long.
Hope that is of help,
Mark

[This message has been edited by Mark Fletcher (edited December 10, 2001).]
[This message has been edited by Mark Fletcher (edited December 10, 2001).]