import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; class Employee { private String name; Employee(String name) { this.name = name; } @Override public String toString() { return name; } } class SerEmployee extends Employee implements Serializable { SerEmployee(String name) { super(name); } } public class SerializationDemo { public static void main(String[] args) { ObjectOutputStream oos = null; ObjectInputStream ois = null; try { oos = new ObjectOutputStream(new FileOutputStream("employee.dat")); SerEmployee se = new SerEmployee("John Doe"); System.out.println(se); oos.writeObject(se); oos.close(); oos = null; System.out.println("se object written to file"); ois = new ObjectInputStream(new FileInputStream("employee.dat")); se = (SerEmployee) ois.readObject(); System.out.println("se object read from file"); System.out.println(se); } catch (ClassNotFoundException cnfe) { cnfe.printStackTrace(); } catch (IOException ioe) { ioe.printStackTrace(); } finally { if (oos != null) try { oos.close(); } catch (IOException ioe) { assert false; // shouldn‘t happen in this context } if (ois != null) try { ois.close(); } catch (IOException ioe) { assert false; // shouldn‘t happen in this context } } } }
时间: 2024-11-09 02:18:44