Object Serialization Object persistency preserves the state of objects beyond the lifetime of the programs that instantiated. Without it, it is impossible to save objects and to transfer objects on a network. Java object persistency is realized in the form of Object Serialization. How does Java do the job? It is very easy to serialize a java object by only implementing
either the java.io.Serializable or java.io.Externalizable
interface. import java.io.*; import java.util.*; class aSerializedObj implements Serializable { private int id; private String name; aSerializedObj (int id, String name) { this.id = id; this.name = name; } public void print() { System.out.println("ID: " + id); System.out.println("Name: " + name); System.out.println(); } } public class atry { public static void main(String args[]) throws Exception { aSerializedObj as1 = new aSerializedObj(1, "no. 1"); aSerializedObj as2 = new aSerializedObj(2, "no. 2"); aSerializedObj as3 = new aSerializedObj(3, "no. 3"); Vector av = new Vector(); av.addElement(as1); av.addElement(as2); av.addElement(as3); //write serialized objects to a file FileOutputStream fo = new FileOutputStream ("test.txt"); ObjectOutputStream oos = new ObjectOutputStream (fo); oos.writeObject(av); oos.flush(); oos.close(); fo.close(); av.clear(); //read serialized objects from a file FileInputStream fi = new FileInputStream ("test.txt"); ObjectInputStream ois = new ObjectInputStream (fi); av = (Vector) ois.readObject(); for(int i=0; i<av.size();i++) { ((aSerializedObj)av.elementAt(i)).print(); } ois.close(); fi.close(); av.clear(); } }
|