RandomAccessFile直接继承于Object类而非InputStream/OutputStream类,对于Input-Stream和OutputStream来说,它们的实例都是顺序访问流,也就是说,只能对文件进行顺序读/写。在Java语言中,类RandomAccessFile提供了随机访问文件的方法,它可以实现读写文件中任何位置的数据(只需要改变文件的读写位置的指针)。
RandomAccessFile的构造方法有以下两个:
(1)RandomAccessFile(File file,String mode):从中读取和向其中写入(可选)的随机存取文件流,该文件由File参数指定。
(2)RandomAccessFile(String name,String mode):创建从中读取和向其中写入(可取)的随机存取文件流,该文件具有指定名称。其中,mode有两种选项,r为只读方式打开,rw为可读可写,不存在则创建。
1.对文件位置指针的操作
新建对象,文件指针在文件开头处,随着读写操作,文件位置指针都相应后移读写的字节数。
(1)获取指针位置。
public long getPointer() //返回当前位置相对文件头算起的绝对位置
(2)移动指针。
public void seek(long pos) //将指针移动到相对文件头的pos值指定位置
2.对文件的操作
(1)获取文件大小。
public long length() //返回文件长度(字节数)
(2)读文件。
实现了DataInput接口,多种方法读取不同类型的数据:
•readBoolean()
•readChar()(www.daowen.com)
•readInt()
•readByte()
•readLine()
……
(3)写文件。
实现了DataOutput接口,针对不同类型的数据提供多种输出方法:
•w riteBoolean()
•w riteChar()
•w riteInt()
•w riteByte()
【例8.9】RandowAccessFile类应用举例。
上述程序的运行界面如图8.5所示。
图8.5 RandomAccessFile类应用实例
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。