Mega Code Archive

 
Categories / Java Tutorial / File
 

Serializing Variations on an Object

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; 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 Data implements Serializable {   private int value;   public Data(int init) {     value = init;   }   public boolean equals(Object obj) {     if (obj instanceof Data && ((Data) obj).value == value) {       return true;     }     return false;   }   public void setValue(int val) {     value = val;   }   public int getValue() {     return value;   } } public class MainClass {   public static void main(String[] args) {     Data data = new Data(1);     try {       ObjectOutputStream objectOut = new ObjectOutputStream(new BufferedOutputStream(           new FileOutputStream("C:/test.bin")));       objectOut.writeObject(data);       System.out.println("1st Object written has value: " + data.getValue());       data.setValue(2);       objectOut.writeObject(data);       System.out.println("2nd Object written has value: " + data.getValue());       data.setValue(3);       objectOut.writeObject(data);       System.out.println("3rd Object written has value: " + data.getValue());       objectOut.close();     } catch (IOException e) {       e.printStackTrace(System.err);     }     try {       ObjectInputStream objectIn = new ObjectInputStream(new BufferedInputStream(           new FileInputStream("C:/test.bin")));       Data data1 = (Data) objectIn.readObject();       Data data2 = (Data) objectIn.readObject();       Data data3 = (Data) objectIn.readObject();       System.out.println(data1.equals(data2));       System.out.println(data2.equals(data3));       System.out.println(data1.getValue());       System.out.println(data2.getValue());       System.out.println(data3.getValue());       objectIn.close();     } catch (Exception e) {       e.printStackTrace(System.err);     }   } } 1st Object written has value: 1 2nd Object written has value: 2 3rd Object written has value: 3 true 1