Java tutorial
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); } } }