实验题 4对象输入与输出流
现有一个Student类:
程序实现: 将Student类的2个实例写到文件中student.txt中,并从student.txt 中读取这个实例并输出到eclipse控制台,运行结果如图所示:
package forth;
import java.io.Serializable;
public class Student implements Cloneable,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;
}
// toString()
public String toString() {
return "Student [id=" + id +
", name="+ name +
", age="+ age + "]";
}
}
package forth;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class Forth {
public static void main(String args[]) {
try {
Student s1 = new Student(1001, "Lee", 21);
Student s2 = new Student(1003, "Zhang", 22);
Student s3 = new Student();
File outFile = new File("output2.txt");
FileOutputStream fos = new FileOutputStream(outFile);
ObjectOutputStream ofs = new ObjectOutputStream(fos);
ofs.writeObject(s1);
ofs.writeObject(s2);
ofs.close();
fos.close();
FileInputStream fis = new FileInputStream(outFile);
ObjectInputStream ifs = new ObjectInputStream(fis);
s3 = (Student)ifs.readObject();
System.out.println(s3.toString());
s3 = (Student)ifs.readObject();
System.out.println(s3.toString());
fis.close();
ifs.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}