一、RandomAccessFile的特点:
1、既可以读取文件内容,也可以向文件中写入内容;可以直接跳到文件的任意位置来读写数据;
2、可以访问文件的部分内容;
3、可以自由定位文件记录指针;
4、可以不从文件开始的地方输出;
5、可以向已存在的文件后追加内容;
6、可以自由的移动记录指针,即可以向前移动,也可以向后移动。
二、
1、RandomAccessFile包含了以下两个方法来操作文件的记录指针:
(1)long getFilePointer();返回文件记录指针的当前位置;
(2)Void seek(long pos);将文件记录指针定位到pos位置。
2、
(1)包含三个完全类似于inputStream的3个read()方法,其用法和read()完全不一样;
(2)包含三个完全类似于inputStream的3个write()方法,其用法和write()完全不一样;
3、两个构造器
(1)一个使用String参数指定文件名;
(2)一个使用File参数来指定文件本身。
4、创建RandomAccessFile对象时还需要指定一个mode参数,该参数指定RandomAccessFile的访问模式,一共有4种模式:
“r”: 以只读方式打开。调用结果对象的任何 write 方法都将导致抛出 IOException。
“rw”: 打开以便读取和写入。
“rws”: 打开以便读取和写入。相对于 “rw”,“rws” 还要求对“文件的内容”或“元数据”的每个更新都同步写入到基础存储设备。
“rwd” : 打开以便读取和写入,相对于 “rw”,“rwd” 还要求对“文件的内容”的每个更新都同步写入到基础存储设备。