Java中对象的序列化和反序列化方法

 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();
 }
 

posted @ 2013-07-28 15:16  竹君子  阅读(131)  评论(0编辑  收藏  举报