一、什么是序列化和反序列化
序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
二、序列化和反序列化分别用于什么场所:
主要用于存储对象状态为另一种通用格式,比如存储为二进制、xml、json等等,把对象转换成这种格式就叫序列化,而反序列化通常是从这种格式转换回来。
使用序列化主要是因为跨平台和对象存储的需求,因为网络上只允许字符串或者二进制格式,而文件需要使用二进制流格式,如果想把一个内存中的对象存储下来就必须使用序列化转换为xml(字符串)、json(字符串)或二进制(流)
序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
二、序列化和反序列化分别用于什么场所:
主要用于存储对象状态为另一种通用格式,比如存储为二进制、xml、json等等,把对象转换成这种格式就叫序列化,而反序列化通常是从这种格式转换回来。
使用序列化主要是因为跨平台和对象存储的需求,因为网络上只允许字符串或者二进制格式,而文件需要使用二进制流格式,如果想把一个内存中的对象存储下来就必须使用序列化转换为xml(字符串)、json(字符串)或二进制(流)
三、代码实例
//序列化(将对象 存到硬盘中) Person person=new Person("admin", "123"); try { //序列化 // ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("user.exe")); // oos.writeObject(person); // oos.close(); //反序列化(将存档从硬盘中读出来) ObjectInputStream ois=new ObjectInputStream(new FileInputStream("user.exe")); Person person2=(Person) ois.readObject(); System.out.println(person2); ois.close(); } catch (Exception e) { e.printStackTrace(); }
今天的序列化和反序列化暂时就到这里了,大家有什么建议欢迎评论哈~