Note: I'm assuming the indices you have used (e.g. 1-9) are one-based. You'll need to convert these to zero-based indices (e.g. 0-8) to match the classes you'll be using.
First, use seek(long) to move the file pointer to the record you want to read, unless you're reading them sequentially. Next, use readFully(byte[]) to read in the fields as byte arrays and then convert them to Strings. I have no idea what will happen with zero-padded byte arrays, if that's how they appear in the file.
For example, to store the first name "Harsha" do you pad the remaing fifteen bytes with zeros or spaces? You'll have to try it out and see what you get.
This won't perform very well, and looking at the other
String constructors I already see a way to speed things up while somewhat obscuring the logic. String(byte[], offset, length) will create a String from a portion of the array.
If you're on JDK 1.4 or later, I would bet that NIO provides much better methods for achieving the same goals. It's buffer-oriented which seems well-suited to fixed-length records, and it has the ability to back a character buffer with a byte buffer, performing the conversions more naturally.
If you want to go that route, check out Sun's and IBM's NIO tutorials. Try searching on Merlin too as that was the codename.