Java中对象的序列化详解及实例

时间:2022-09-11 08:21:51

 Java对象序列化详解及实例

把java对象转化为字节序列的过程称为对象的序列化。

把字节序列恢复为java对象的过程称为对象的反序列化。

对象序列化的用途:

1.把对象的字节序列永久的保存到硬盘上,通常存放在一个文件中
2.在网络上传送对象的字节序列化

 void writeObject(Object obj) 方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中(将指定的对象写入 ObjectOutputStream。)

 void readObject()方法 从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回( 从 ObjectInputStream 读取对象。)

只有实现了Serializable和Externalizable接口的类对象才能被序列化。

Externalizable接口继承自Serializable接口,实现Externalizable接口的类完全由自身来控制序列化的行为,而实现Serializable接口类可以采用默认的序列化方式

?
1
2
3
4
5
6
7
8
9
public static void readObj()throws Exception
  {
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));
 
    Person p = (Person)ois.readObject();
 
    System.out.println(p);
    ois.close();
  }
?
1
2
3
4
5
6
7
8
9
public static void writeObj()throws IOException
 {
   ObjectOutputStream oos =
     new ObjectOutputStream(new FileOutputStream("obj.txt"));
 
   oos.writeObject(new Person("lisi0",399,"kr"));
 
   oos.close();
 }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/cx8122389/article/details/52209169