对象序列化

一、对象序列化:

对象序列化,是指将一个对象转换为二进制的数据流。如果一个类的对象要实现序列化,则对象所在的类必须实现Serializable接口。

如果要想完成对象序列化,则还要依靠ObjectOutputStream和ObjectInputStream类,前者属于序列化,后者是反序列化。

二、代码示例:

创建一个可序列化的类:

import java.io.Serializable;

public class Person implements Serializable {

   private String name;

   private int age;

   public Person(String name,int age){

     this.name=name;

     this.age=age;

   }

   private static final long serialVersionUID = 1L;

   public String toString(){

     return this.name+"="+this.age;

   }

}

进行序列化写入文件:

import java.io.FileOutputStream;

import java.io.ObjectOutputStream;

 

public class TestDemo {

   public static void main(String[] args) throws Exception{

     // TODO Auto-generated method stub

     ObjectOutputStream out=new ObjectOutputStream(

          new FileOutputStream("c:/ser.txt"));

     Person p=new Person("guoxu",25);

     out.writeObject(p);

     out.close();

   }

}

反序列化操作:

import java.io.*;

public class TestDemo2 {

   public static void main(String[] args) throws Exception{

     // TODO Auto-generated method stub

     ObjectInputStream out=new ObjectInputStream(

          new FileInputStream("c:/ser.txt"));

     Object obj=out.readObject();

     Person p=(Person)obj;

     System.out.println(p.toString());

     out.close();

   }

 

}

无论序列化,还是反序列化,都要求有原型类存在。

posted @ 2011-08-10 11:46  rorshach  阅读(249)  评论(0编辑  收藏  举报