JavaSE——序列化和反序列化
Posted BU_L
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE——序列化和反序列化相关的知识,希望对你有一定的参考价值。
序列化:
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了更方便的对对象流进行存储和读的操作。
序列化的实现:将需要被序列化的类实现Serializable接口,该接口为一个标识接口,没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
public class Person implements Seriaizable
ObjectOutputStream oos = new ObjectOutputStream(new FIleOutputStream(FIle file))
oos.writeObject(person)
package xulieh; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; public class Demo02 { public static void main(String[]args){ //序列化 Person person = new Person("张三", 20, "火星"); ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(new FileOutputStream("D:/person2.dat")); oos.writeObject(person); oos.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { oos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
以上是关于JavaSE——序列化和反序列化的主要内容,如果未能解决你的问题,请参考以下文章