A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李易烜 中级黑马   /  2013-3-12 16:20  /  1418 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李易烜 于 2013-3-12 22:52 编辑

序列化的作用?怎么做才最好?
反序列化的作用?
最好可以举例。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

1 个回复

正序浏览
对象流可以将Java 对象转换成二进制写入磁盘,这个过程通常叫做序列化,并且还可以从磁盘读出完整的Java 对象,而这个过程叫做反序列化.序列化是为了解决在对对象流进行读写操作时所引发的问题,最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。
  1. import java.io.Serializable;

  2. public class User implements Serializable
  3. {
  4.         String name;

  5.         User(String name){
  6.                 this.name = name;
  7.         }
  8.        
  9.         public String toString(){
  10.                 return "User[name="+name+"]";
  11.         }
  12. }
复制代码
  1. import java.io.*;
  2. public class ObjectOutputStreamTest01
  3. {
  4.         public static void main(String[] args) throws Exception{
  5.                
  6.                 //1.创建java对象
  7.                 User u1 = new User("刘德华");

  8.                 //2.创建输出流(序列化流) (JVM中的java对象状态保存到硬盘中.)
  9.                 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("temp06"));
  10.                
  11.                 //3.写
  12.                 oos.writeObject(u1);

  13.                 //刷新
  14.                 oos.flush();

  15.                 //关闭
  16.                 oos.close();
  17.         }
  18. }
复制代码
  1. import java.io.*;

  2. public class ObjectInputStreamTest01
  3. {
  4.         public static void main(String[] args) throws Exception{
  5.                
  6.                 //1.创建反序列化流
  7.                 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("temp06"));
  8.                
  9.                 //2.反序列化
  10.                 Object o = ois.readObject();

  11.                 System.out.println(o); //User[name=刘德华]

  12.                 //关闭
  13.                 ois.close();
  14.         }
  15. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马