正如先前所指,RandomAccessFile 除了实现 DataInput 和 DataOutput 接口之外,几
乎完全独立于I/O 继承层次结构的其他部分。所以不能将其与 InputStream 及
OutputStream 子类的任何部分组合起来。尽管把一个 ByteArrayInputStream 当作一
个随机访问元素对待也具有实际意义,但是我们只能用 RandomAccessFile 打开文件。我
们必须假定RandomAccessFile已经被正确缓冲,因为我们不能为它添加这样的功能。
可以自行选择的是第二个构造器参数:我们可指定以“只读”(r)方式或“读写”(rw)方式
打开一个RandomAccessFile文件。
使用 RandomAccessFile,类似于组合使用了 DataInputStream 和 DataOutputStream
(因为它实现了同等的接口)。另外,我们会看到利用 seek(),可以在文件中到处移动,并
修改文件中的某个值。
随着 JDK 1.4 中新的 I/O 的出现,你可能会考虑使用内存映射文件来代替
RandomAccessFile。