Mega Code Archive

 
Categories / Java / File Input Output
 

A program that serializes and deserializes an Employee array

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; /**  * A program that serializes and deserializes an Employee array.  */ public class SerializeEmployeeTester {   public static void main(String[] args) throws IOException,       ClassNotFoundException {     Employee[] staff = new Employee[2];     staff[0] = new Employee("Fred Flintstone", 50000);     staff[1] = new Employee("Barney Rubble", 60000);     staff[0].setBuddy(staff[1]);     staff[1].setBuddy(staff[0]);     ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(         "staff.dat"));     out.writeObject(staff);     out.close();     ObjectInputStream in = new ObjectInputStream(new FileInputStream(         "staff.dat"));     Employee[] staff2 = (Employee[]) in.readObject();     in.close();     for (Employee e : staff2)       System.out.println(e);   } } class Employee implements Serializable {   public Employee(String name, double salary) {     this.name = name;     this.salary = salary;     this.buddy = this;   }   public void setBuddy(Employee buddy) {     this.buddy = buddy;   }   public String toString() {     return getClass().getName() + "[name=" + name + ",salary=" + salary         + ",buddy=" + buddy.name + "]";   }   private String name;   private double salary;   private Employee buddy; }