实例分析:例3:保存所有的Person对象到文件并以对象的方式读出来
2315 点击·0 回帖
![]() | ![]() | |
![]() | 1 问题分析 本题中需要对文件读,写对象数据,需要使用到与对象有关的流ObjectInputStream/ObjectOutputStream。 2 使用对象的读写流 ObjectOutputStream用于将一个对象输出,输出对象使用的方法为writeObject(Object obj) ObjectInputStream用于读取一个对象,读取对象使用的方法为readObject() 注意: 被读写的对象必须是已序列化的类的对象,即要实现要Serializable接口。 3 编写代码 [java] import java.io.*; import java.util.*; class Person implements Serializable { String name = null; public Person(String s) { name = s; } public String toString() { return name; } } public class TestObjectStream { public static void main(String[] args) { ObjectOutputStream oos = null; ObjectInputStream ois = null; try { File f = new File("date.ser"); oos = new ObjectOutputStream(new FileOutputStream(f)); oos.writeObject(new Person("andy")); oos.close(); ois = new ObjectInputStream(new FileInputStream(f)); Person d = (Person) ois.readObject(); System.out.println(d); ois.close(); } catch (Exception e) { e.printStackTrace(); } } } import java.io.*; import java.util.*; class Person implements Serializable { String name = null; public Person(String s) { name = s; } public String toString() { return name; } } public class TestObjectStream { public static void main(String[] args) { ObjectOutputStream oos = null; ObjectInputStream ois = null; try { File f = new File("date.ser"); oos = new ObjectOutputStream(new FileOutputStream(f)); oos.writeObject(new Person("andy")); oos.close(); ois = new ObjectInputStream(new FileInputStream(f)); Person d = (Person) ois.readObject(); System.out.println(d); ois.close(); } catch (Exception e) { e.printStackTrace(); } } } 4 编译运行 javac TestObjectStream.java java TestObjectStream | |
![]() | ![]() |