Java tutorial
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 Employee implements Serializable { private String name; private double salary; Employee(String name, double salary) { this.name = name; this.salary = salary; } String getName() { return name; } double getSalary() { return salary; } private void writeObject(ObjectOutputStream oos) throws IOException { oos.defaultWriteObject(); System.out.println("Serializing Employee object\n"); } private void readObject(ObjectInputStream ois) throws Exception { ois.defaultReadObject(); salary += 100; System.out.println("Deserializing Employee object"); } } class Main { public static void main(String[] args) throws Exception { Employee e1 = new Employee("A", 45000.0); System.out.println(e1.getName() + " " + e1.getSalary()); FileOutputStream fos = new FileOutputStream("employee.ser"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(e1); FileInputStream fis = new FileInputStream("employee.ser"); ObjectInputStream ois = new ObjectInputStream(fis); Employee e2 = (Employee) ois.readObject(); System.out.println(e2.getName() + " " + e2.getSalary()); } }