java ObjectOutputStream

时间:2023-03-09 02:35:55
java ObjectOutputStream
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
}
}
}
}