用RandomAccessFile进行I/O操作
import java.io.*;
class RandomFileTest
{
public static void main(String[] args) throws Exception
{
Student s1=new Student(1,"zhangsan",98.5);
Student s2=new Student(2,"lisi",96.5);
Student s3=new Student(3,"wangwu",76.5);
RandomAccessFile raf=new RandomAccessFile("Student.txt","rw");
s1.writeStudent(raf);
s2.writeStudent(raf);
s3.writeStudent(raf);
Student s=new Student();
raf.seek(0);
for(long i=0;i<raf.length();i=raf.getFilePointer())
{
s.readStudent(raf);
System.out.println(s.num+":"+s.name+":"+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 IOException
{
raf.writeInt(num);
raf.writeUTF(name);
raf.writeDouble(score);
}
public void readStudent(RandomAccessFile raf) throws IOException
{
raf.readInt();
raf.readUTF();
raf.readDouble();
}
}
输出的结果怎么会是
0:null:0.0
0:null:0.0
0:null:0.0
额
import java.io.*;
class RandomFileTest
{
public static void main(String[] args) throws Exception
{
Student s1=new Student(1,"zhangsan",98.5);
Student s2=new Student(2,"lisi",96.5);
Student s3=new Student(3,"wangwu",76.5);
RandomAccessFile raf=new RandomAccessFile("Student.txt","rw");
s1.writeStudent(raf);
s2.writeStudent(raf);
s3.writeStudent(raf);
Student s=new Student();
raf.seek(0);
for(long i=0;i<raf.length();i=raf.getFilePointer())
{
s.readStudent(raf);
System.out.println(s.num+":"+s.name+":"+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 IOException
{
raf.writeInt(num);
raf.writeUTF(name);
raf.writeDouble(score);
}
public void readStudent(RandomAccessFile raf) throws IOException
{
raf.readInt();
raf.readUTF();
raf.readDouble();
}
}
输出的结果怎么会是
0:null:0.0
0:null:0.0
0:null:0.0
额
{
raf.readInt();
raf.readUTF();
raf.readDouble();
} 修改为public Student readStudent(RandomAccessFile raf) throws IOException
{
this.num = raf.readInt();
this.name = raf.readUTF();
this.score = raf.readDouble();
return this;
}
试试!
{
num = raf.readInt();
name = raf.readUTF();
score = raf.readDouble();
}
这样应该就够了吧
{
num = raf.readInt();
name = raf.readUTF();
score = raf.readDouble();
}
这样应该就够了吧