Java I/O How to - Save/Serialize and Read Object








Question

We would like to know how to save/Serialize and Read Object.

Answer

/*from   w ww  . j a va 2 s. c o m*/
import java.awt.Polygon;
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;
public class Main {
  public static void main(String[] args) {
    int[] x = new int[] { 1, 2, 3 };
    int[] y = new int[] { 4, 5, 6 };
    Polygon polygon = new Polygon(x, y, x.length);
    try {
      ObjectOutputStream objectOut = new ObjectOutputStream(new BufferedOutputStream(
          new FileOutputStream("Polygons.bin")));
      objectOut.writeObject(polygon);
      objectOut.close();
    } catch (IOException e) {
      e.printStackTrace(System.err);
    }
    try {
      ObjectInputStream objectIn = new ObjectInputStream(new BufferedInputStream(
          new FileInputStream("Polygons.bin")));
      Polygon theLine = (Polygon) objectIn.readObject();
      System.out.println(theLine);
      objectIn.close();
    } catch (Exception e) {
      e.printStackTrace(System.err);
    }
  }
}

The code above generates the following result.