|
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();
}
}
|