一. 点睛
在java的流体系里面,RandomAccessFile流和推回输入流都属于比较特殊的流,推回输入流的特殊之处在于可以把读取到的数据推回到推回缓冲区,从而可以再次读取,关于推回输入流的更详细内容请参见前面的文章:java io流(二) 推回输入流的原理和简单使用,而RandomAccessFile流是Java输入,输出流体系中功能最丰富的文件内容访问流,它的特殊和强大之处体现在下面两个方面:
1. 功能强大和齐全
io流体系里面某个流要么用于处理输入,要么用于处理输出,而RandomAccessFile流功能比较强大,本身即能完成输入也能完成输出功能,它提供了很多方法来操作文件,既可以读文件(read()方法),也可以写文件(write()方法),这些read()方法和write()方法和其他流的使用方式一样,下面不再赘述。
2. 允许自定义文件记录指针
其他的输入输出流读写数据都是顺序操作,在流的内部会维护一个指针,读写数据的同时,指针会向后移动,直到操作完成为止,而RandomAccessFile流允许我们自由定义文件记录指针的位置。这在我们只希望访问文件的部分内容或者给文件追加内容的时候很有用。
RandomAccessFile流对文件记录指针的操作有下面两个方法,方法声明如下所示:
//返回文件记录指针的当前位置<