|   
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 
 class MyClass implements Serializable {
 String str;
 double[] vals;
 File fn;
 
 public MyClass(String s, double[] nums, String fname) {
 str = s;
 vals = nums;
 fn = new File(fname);
 }
 
 public String toString() {
 String data = "  str: " + str + "\n  vals: ";
 
 for (double d : vals)
 data += d + " ";
 data += "\n  fn: " + fn.getName();
 
 return data;
 }
 }
 
 public class Main {
 public static void main(String[] argv) throws Exception {
 double v[] = { 1.1, 2.2, 3.3 };
 double v2[] = { 9.0, 8.0, 7.7 };
 
 MyClass obj1 = new MyClass("This is a test", v, "Test.txt");
 MyClass obj2 = new MyClass("Alpha Beta Gamma", v2, "Sample.dat");
 
 ObjectOutputStream fout = new ObjectOutputStream(new FileOutputStream("obj.dat"));
 System.out.println("obj1:\n" + obj1);
 fout.writeObject(obj1);
 System.out.println("obj2:\n" + obj2);
 fout.writeObject(obj2);
 fout.close();
 
 ObjectInputStream fin = new ObjectInputStream(new FileInputStream("obj.dat"));
 MyClass inputObj;
 
 inputObj = (MyClass) fin.readObject();
 System.out.println("First object:\n" + inputObj);
 
 inputObj = (MyClass) fin.readObject();
 System.out.println("Second object:\n" + inputObj);
 fin.close();
 }
 }
 
 
 
 
 |