在IO 包中,提供了一个RandomAccesseFile 类,它不属于流类,但具有读写文件数据的功能,可以随机从文件的任何位置开始,并以指定的操作权限(如只读、可读写等)执行读写数据的操作。常用的构造方法如表8-4 所示。
表8-4 RandomAccesseFile 类构造方法
(1)RandomAccessFile(String name,String mode)中的参数mode 用于指定访问文件的模式,也就是文件的操作权限。
参数mode 取值:
● r:以只读的方式打开文件。如果执行写操作,会报IOException 异常。
● rw:以“读写”的方式打开文件。如果文件不存在,会自动创建该文件。
● rws:以“读写”方式打开文件。与“rw”相比,它要求对文件的内容或元数据的每个更新都同步写入底层的存储设备。
● rwd:以“读写”方式打开文件。与“rw”相比,它要求对文件的内容的每个更新都同步写入底层的存储设备。
(2)RandomAccessFile 对象包含了一个记录指针来标识当前读写处的位置。(www.xing528.com)
① 当新建RandomAccessFile 对象时,该对象的文件记录指针会在文件开始处(即标识为0 的位置)。
② 当读写了n 个字节后,文件记录指针会向后移动n 个字节。
③ 除了按顺序读写外,RandomAccessFile 对象还可以自由地移动记录指针,既可以向前移动,也可以向后移动。
表8-5 RandomAccessFile 常用方法
seek(long pos)方法可以使RandomAccessFile 对象中的记录指针向前、向后自由移动,通过getFilePointer()方法,便可获取文件当前记录指针的位置。
示例(模拟软件使用次数)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。