Using writeObject and readObject : Serialization « File « SCJP






import java.awt.Color;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Dog implements Serializable {
  transient private Color theColor;
  private int dogSize;

  public Dog(Color collar, int size) {
    theColor = collar;
    dogSize = size;
  }

  public Color getColor() {
    return theColor;
  }

  private void writeObject(ObjectOutputStream os) {
    // throws IOException {
    try {
      os.defaultWriteObject();
      os.writeInt(theColor.getRGB());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  private void readObject(ObjectInputStream is) {
    // throws IOException, ClassNotFoundException {
    try {
      is.defaultReadObject();
      theColor = new Color(is.readInt());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}








9.5.Serialization
9.5.1.Object Serialization
9.5.2.Object Streams and Serialization
9.5.3.Wirte your own serialization code
9.5.4.Working with ObjectOutputStream and ObjectInputStream
9.5.5.Serialize a hierarchy
9.5.6.Using writeObject and readObject
9.5.7.Which variables will and will not be restored with the appropriate values when an object is deserialized