Java IO笔记(3)RandomAccessFile

来源:互联网 发布:网络教育英语统考包过 编辑:程序博客网 时间:2024/06/04 22:48

1.RandomAccessFile

RandomAccessFile适用由大小已知的记录组成的文件,所以我们可以使用seek()将记录从一处转移到另一处;

RandomAccessFile不是InputStream或者OutputStream继承层次的一部分,是自我独立的类;

RandomAccessFile的大部分功能,但不是全部,由nio存储映射文件取代。

2.使用示例

import java.io.IOException;import java.io.RandomAccessFile;public class RandomAccessFileTest {static String file = "test.dat";static void display() throws IOException{//以只读方式打开RandomAccessFile rf = new RandomAccessFile(file,"r");for(int i=0;i<7;i++){System.out.println("value:" + i + ":" + rf.readDouble());}rf.close();}public static void main(String[] args) throws IOException {//以可读可写方式打开RandomAccessFile rf = new RandomAccessFile(file,"rw");//初始数据for(int i=0;i<7;i++){rf.writeDouble(i*1.414);}rf.writeUTF("end of file");rf.close();display();rf = new RandomAccessFile(file,"rw");//找到第5个double数据rf.seek(5*8);//替换成新数据rf.writeDouble(47.001);rf.close();display();}}