Object IO : ObjectOutputStream « File « Java Tutorial






import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Date;

public class ObjectIOApp {
  public static void main(String args[]) throws IOException, ClassNotFoundException {
    File file = new File("test.txt");
    FileOutputStream outFile = new FileOutputStream(file);
    ObjectOutputStream outStream = new ObjectOutputStream(outFile);
    TestClass1 t1 = new TestClass1(true, 9, 'A', 0.0001, "java");
    TestClass2 t2 = new TestClass2();
    String t3 = "This is a test.";
    Date t4 = new Date();
    outStream.writeObject(t1);
    outStream.writeObject(t2);
    outStream.writeObject(t3);
    outStream.writeObject(t4);
    outStream.close();
    outFile.close();
    FileInputStream inFile = new FileInputStream(file);
    ObjectInputStream inStream = new ObjectInputStream(inFile);
    System.out.println(inStream.readObject());
    System.out.println(inStream.readObject());
    System.out.println(inStream.readObject());
    System.out.println(inStream.readObject());
    inStream.close();
    inFile.close();
    file.delete();
  }
}

class TestClass1 implements Serializable {
  boolean b;

  int i;

  char c;

  double d;

  String s;

  TestClass1(boolean b, int i, char c, double d, String s) {
    this.b = b;
    this.i = i;
    this.c = c;
    this.d = d;
    this.s = s;
  }

  public String toString() {
    String r = String.valueOf(b) + " ";
    r += String.valueOf(i) + " ";
    r += String.valueOf(c) + " ";
    r += String.valueOf(d) + " ";
    r += String.valueOf(s);
    return r;
  }
}

class TestClass2 implements Serializable {
  int i;

  TestClass1 tc1;

  TestClass1 tc2;

  TestClass2() {
    i = 0;
    tc1 = new TestClass1(true, 2, 'j', 1.234, "Java");
    tc2 = new TestClass1(false, 7, 'J', 2.468, "JAVA");
  }

  public String toString() {
    String r = String.valueOf(i) + " ";
    r += tc1.toString() + " ";
    r += tc2.toString();
    return r;
  }
}








11.23.ObjectOutputStream
11.23.1.Create ObjectOutputStream out of FileOutputStream
11.23.2.Writing objects to file with ObjectOutputStream
11.23.3.Serializing an Object (JButton)
11.23.4.Reading Basic Data From an Object Stream
11.23.5.Create a serialized output file.
11.23.6.Try to recover a serialized file without the class of object that's stored in that file
11.23.7.Object IO
11.23.8.illustrates serialization and deserialization