理解Java中的序列化和反序列化过程

原创 痛定思痛。 2024-12-04 11:57 120阅读 0赞

在Java中,序列化和反序列化是将对象的状态存储(序列化)到磁盘或网络上,以便稍后恢复该状态(反序列化)的过程。

具体步骤如下:

  1. 序列化
    • 创建一个对象,例如一个Person类的实例。
    • 使用Java的序列化API来实现。主要用到ObjectOutputStreamSerializable接口。
    • 将对象写入输出流中。
  1. try {
  2. FileOutputStream fos = new FileOutputStream("person.ser");
  3. ObjectOutputStream oos = new ObjectOutputStream(fos);
  4. Person person = new Person("John Doe", 30);
  5. oos.writeObject(person); // 序列化操作
  6. oos.close();
  7. fos.close();
  8. } catch (IOException e) {
  9. e.printStackTrace();
  10. }
  1. 反序列化
    • 在另一个地方(或同一个应用的不同部分)创建一个ObjectInputStream实例。
    • 从输入流中读取对象,使用readObject()方法。
  1. try {
  2. FileInputStream fis = new FileInputStream("person.ser");
  3. ObjectInputStream ois = new ObjectInputStream(fis);
  4. Person person = (Person) ois.readObject(); // 反序列化操作
  5. System.out.println(person); // 打印恢复的人员对象
  6. ois.close();
  7. fis.close();
  8. } catch (IOException | ClassNotFoundException e) {
  9. e.printStackTrace();
  10. }

以上就是Java中序列化和反序列化的基本过程。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,120人围观)

还没有评论,来说两句吧...

相关阅读