不想说得太过于文绉绉,其实序列化,说白了就是将对象以文件的形式保存起来,反序列化,顾名思义,就是将对象文件转化为程序中的对象。一个对象如果要被序列化则必须实现Serializable接口(implements Serializable)。
序列化:
在这一过程中需要用到java.io包中的地两个类:FileOutputSteam 和ObjectOutputSteam
下面是一个将LinkedList对象序列化的简单例子,LinkedList已经实现了Serializable接口(implements Serializable),方法(Method)如下:
import java.io.*;
...//外部代码
public static void OutputObject() throws
FileNotFoundException,IOException{
LinkedList ll=new LinkedList();
FileOutputStream fos=new FileOutputStream("object");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(ll);
}
FileOutputStream fos=new FileOutputStream("object");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(ll);
}
...//外部代码
关键代码就是三行,相当容易。
反序列化:
这一过程要用到FileInputStream和ObjectInputSteam,都在java.io包里
...//外部代码
public static Object InputObject() throws FileNotFoundException,
IOException, ClassNotFoundException{
FileInputStream fis=new FileInputStream("object");
ObjectInputStream ois=new ObjectInputStream(fis);
return ois.readObject();//返回对象
}
IOException, ClassNotFoundException{
FileInputStream fis=new FileInputStream("object");
ObjectInputStream ois=new ObjectInputStream(fis);
return ois.readObject();//返回对象
}
...//外部代码
关键代码就是两行。
当然这只是一个简单的入门,如果你被老外的书整晕了的话,上面这两段代码是很好的参考。
本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/132577,如需转载请自行联系原作者