现有一个Student类:
程序实现: 将Student类的2个实例写到文件中student.txt中,并从student.txt 中读取这个实例并输出到eclipse控制台,运行结果如图所示:
//源代码:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class T4 {
public static void main(String[] args) {
try {
Student a=new Student(1001,"Lee",21);
Student b=new Student(1003,"Zhang",22);
FileOutputStream fout=new FileOutputStream("student.txt");
ObjectOutput out=new ObjectOutputStream(fout);
out.writeObject(a);
out.writeObject(b);
out.close();fout.close();
FileInputStream fin=new FileInputStream("student.txt");
ObjectInputStream in=new ObjectInputStream(fin);
Student a1=(Student)in.readObject();
Student b1=(Student)in.readObject();
System.out.println(a1);
System.out.println(b1);
in.close();fin.close();
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
class Student implements Serializable
{
private int id;
private String name;
private int age;
public Student()
{
}
public Student(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
/* (非 Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}