RandomAccessFile类
2021年7月15日大约 1 分钟约 404 字
RandomAccessFile
是 Java 输入/输出流体系中功能最丰富的文件内容访问类,它既可以读取文件内容,又可以向文件输出数据。与普通的输入/输出流不同的是,RandomAccessFile
支持“随机访问”的方式,程序可以直接跳转到文件的任意地方来读写数据。
由于 RandomAccessFile
可以自由访问文件的任意位置,所以如果只需要访问文件部分内容,而不是把文件从头读到尾,使用 RandomAccessFile
将是更好的选择。
RandomAccessFile
最大的局限是只能读写文件,不能读写其他 IO 节点。
RandomAccessFile
包含了如下两个方法来操作文件记录指针:
方法 | 作用 |
---|---|
long getFilePointer() | 返回文件记录指针的当前位置 |
void seek(long pos) | 将文件记录指针定位到 pos 位置 |
RandomAccessFile
类的两个构造器,分别可以以 String
参数和 File
参数来指定文件本身,同时,创建 RandomAccessFile
对象时还需要指定一个 mode
参数,以指定 RandomAccessFile
的访问模式:
"r"
"rw"
"rws"
"rwd"
使用随机文件读写操作进行写操作应该谨慎!因为比如说,如果你选择在一个文件中第一行存放学号为 1 的学生信息,第 8 行存放学号为 8 的学生信息……当所有学生的信息都被正常存放后这当然没什么问题,但如果这里边有某些行没被正确存入,那么这些行对应的文件内容将会是磁盘的垃圾信息!