RandomAccessFile

来源:互联网 发布:python deap 编辑:程序博客网 时间:2024/06/03 23:50

RandomAccessFile

  1. RandomAccessFile类同时实现了DataInput和DataOutput接口,提供了对文件随机存取的功能,利用这个类可以在文件的任何位置读取或写人数据;
  2. RandomAccessFile类提供了一个文件指针,用来标志要进行读写操作的下一数据的位置;
  3. 该方法把文件的读入,写出,写到一起了,是操作文件比较好的方法;

import java.io.*;class RandomAccessFileTest{    public static void main(String[] arg) throws Exception{        Student s1 = new Student(1,"zhangsan",95.5);        Student s2 = new Student(2,"lisi",96.5);        Student s3 = new Student(3,"wangwu",94);        RandomAccessFile raf = new RandomAccessFile("student.txt","rw");        s1.writeStudent(raf);        s2.writeStudent(raf);        s3.writeStudent(raf);        Student s = new Student();        raf.seek(0);//把指针的偏移量设置到0的位置;        for(long i=0 ; i < raf.length();i=raf.getFilePointer()){            s.readStudent(raf);            System.out.println("num="+s.num+"name="+s.name+"score="+s.score);        }        raf.close();    }}class Student{    int num;    String name;    double score;    Student(){}    Student(int num,String name,double score){        this.num = num;        this.name = name;        this.score = score;    }    public void writeStudent(RandomAccessFile raf) throws Exception{        raf.writeInt(num);        raf.writeUTF(name);        raf.writeDouble(score);         }    public void readStudent(RandomAccessFile raf) throws Exception{        num = raf.readInt();        name = raf.readUTF();        score = raf.readDouble();    }}
0 0