序列化

v 序列化概述:

  - 序列化是将对象的状态存储到特定的存储介质中的过程.也就是把对象的状态转换为传输格式的过程!

  - 在序列化过程中,会将对象的共有成员,私有成员,(包扣类名).转换为字节流,然后再把字节流写入数据流,存储到存储介中;
  - 存储介质通常指文件

  - 使用序列化的意义在于将Java对象序列化后,可以将其转换为字节序列(可以保存在硬盘上),同时这些序列化后的对象保存的是二进制状态.(实现了平台无关性)

   Java中,只有实现了 java.io.Serializable 接口类的对象才能被序列化!

--------------------------------------------------------------------
    v 序列化

  序列化机制可以将,实现序列化的 java 对象转换为字节序列,这个过程需要借助 IO 流来实现!

  序列化的步骤很简单,大概可分2大步:

  (1)创建一个对象输出流 (ObjectOutputStream) , 它可以包装一个其他类型的输出流,如 FileOutputStream .
   ObjcetOutputStream oos = new ObjcetOutputStream (new FileOutputStream("E:/shu.txt"))
    创建了一个对象输出流,包装了一个文件输出流;

  (2)通过对象输出流的 writeObjcet() 方法写对象,也就是把对象序列化并输出
      步骤如:
         [1]创建一个类,实现 Serializable 接口
         [2]引入相关类
         [3]创建对象输出流
         [4]调用 writerObjcet() 方法将对象写入文件
         [5]关闭对象输出流

--------------------------------------------------------------------
v 反序列化

  反序列化是从特定存储介质中将数据重新,构建对象的过程。通过反序列化,可以将存储在文件上的对象信息读取出来,然后重新构建为对象

  反序列化的步骤大致为2步:

    (1)创建一个对象输入流(ObjectInputStream),它可以包装一个其他类型的输入流,如 FileInputStream

    (2)通过对象输入流的 readObject() 方法读取对象。 该方法返回一个object 类型的对象,如果程序知道该java对象的类型,则可以将该对象强制转换成真实的类型;

猜你喜欢

转载自1727204629.iteye.com/blog/2405943