《Java面向对象编程》导读-RandomAccessFile类随机读写文件
发布网友
发布时间:2024-10-04 00:38
我来回答
共1个回答
热心网友
时间:2024-11-04 12:52
InputStream和OutputStream是字节流类,Reader和Writer是字符流类,它们的共同特点只能按顺序读取和写入数据。
RandomAccessFile类不同于流类,它提供随机读写文件功能,可从文件任意位置执行操作。
RandomAccessFile类实现了DataInput和DataOutput接口,因此能读写格式化数据。它有构造方法如下:
构造方法的mode参数指定访问模式,可选“r”表示读,“rw”表示读写。仅读文件应选择“r”,读写文件选“rw”。注意,RandomAccessFile不支持只写文件,设mode为“w”非法。
例程1:RandomTester类展示了RandomAccessFile类的使用。
RandomTester.java代码如下,在main()方法中,使用“rw”访问模式打开D:\test.dat文件。若文件不存在,构造方法会创建。
程序接着向文件写入10个long数据,每个占用8字节。
通过rf.seek(5*8)移动读写指针,跳过第5个long数据,rf.writeLong(1234)覆盖第6个long数据为1234。
rf.seek(0)将指针定位文件开头,读取所有long数据。
程序输出结果如下。
以上内容参考孙卫琴的经典Java书籍《Java面向对象编程》。