Java中要序列化一个对象,必须与一定的对象I/O流联系起来,通过对象输出流将对象状态保存下来,再通过对象输入流将对象状态恢复。 
java.io包中,提供了ObjectInputStream和ObjectOutputStream将数据流功能扩展至可读写对象 。

在ObjectInputStream 中用readObject()方法可以直接读取一个对象,

ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。

序列表方法:

public static void serializeToFile(Object o, String fileName) throws FileNotFoundException, IOException  {
         ObjectOutputStream os = new ObjectOutputStream(  
                 new FileOutputStream(fileName));  
         os.writeObject(o);
         os.flush();
         os.close();  
  }

反序列化方法:

public static Object deserializeFromFile(String fileName) throws FileNotFoundException, IOException, ClassNotFoundException  {
   ObjectInputStream is = new ObjectInputStream(new FileInputStream(fileName));
   return is.readObject();
  }