文件存取通常是循序的,每在文件中存取一次,文件的读取位置就会相对于目前的位置前进一次。然而有时必须指定文件的某个区段进行读取或写入的动作,也就是进行随机存取(Random Access),即要能在文件中随意地移动读取位置。这时可以使用RandomAccessFile,使用它的seek()方法来指定文件存取的位置,指定的单位是字节。既然是进行读取或写入的动作.那么有read()和write()是很正常的啊.是不是我没有理解你的问题...
public int read() 从此文件中读取一个数据字节。
public void write(byte[] b) 将 b.length 个字节从指定 byte 数组写入到此文件,并从当前文件指针开始。其它write()方法略....
还有它实现了DataInput,和DataOutput接口哈.