java randomaccessfile pipe closed_java中RandomAccessFile的问题

源代码:importjava.io.*;classTest2{publicstaticvoidmain(String[]args)throwsException{RandomAccessFilerfa=newRandomAccessFile("1.txt","rw");Students1=newStudent(1,"zhangsa...

源代码:

import java.io.*;

class Test2{

public static void main(String[] args)throws Exception{

RandomAccessFile rfa=new RandomAccessFile("1.txt","rw");

Student s1=new Student(1,"zhangsan",99.8);

Student s2=new Student(2,"lisi",95.0);

Student s3=new Student(3,"wangwu",88.5);

s1.putter(rfa);

s2.putter(rfa);

s3.putter(rfa);

Student s=new Student();

rfa.seek(0);

for(long i=0;i

s.getter(rfa);

System.out.println(s.num+":"+s.name+":"+s.sorce);

}

rfa.close();

}

}

class Student{

int num;

double sorce;

String name;

Student(){

}

Student(int num,String name,double sorce){

this.num=num;

this.name=name;

this.sorce=sorce;

}

public void putter(RandomAccessFile rtf) throws IOException{

rtf.writeInt(num);

rtf.writeUTF(name);

rtf.writeDouble(sorce);

}

public void getter(RandomAccessFile rtf) throws IOException{

num=rtf.readInt();

name=rtf.readUTF();

sorce=rtf.readDouble();

}

}

为什么执行后还有这样的错误出来:

1:zhangsan:99.8

2:lisi:95.0

3:wangwu:88.5

Exception in thread "main" java.io.EOFException

at java.io.RandomAccessFile.readUnsignedShort(RandomAccessFile.java:656)

at java.io.DataInputStream.readUTF(DataInputStream.java:545)

at java.io.RandomAccessFile.readUTF(RandomAccessFile.java:875)

at Student.getter(Test2.java:46)

at Test2.main(Test2.java:17)

麻烦哪位高手指点一下。

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值