java对象序列化与反序列化的实现

一、首先创建一个java对象,实现序列化接口,为序列化和反序列化做准备

 1 import java.io.Serializable;
 2 
 3 /**
 4  * 实现序列化接口,为序列化和反序列化测试做准备
 5  */
 6 public class Car implements Serializable {
 7 
 8     private int height;
 9 
10     private String color;
11 
12     public Car(int height, String color) {
13         this.height = height;
14         this.color = color;
15     }
16 
17     @Override
18     public String toString() {
19         return "Car{" +
20                 "height=" + height +
21                 ", color='" + color + '\'' +
22                 '}';
23     }
24 
25 }

 

二、编写测试类,编写实现序列化和反序列化的代码

 1 import java.io.*;
 2 
 3 public class SerializableTest {
 4 
 5     public static void main(String[] args) throws IOException, ClassNotFoundException {
 6         //序列化过程,文件后缀可以随意
 7         ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("car1.ser"));
 8         Car car1 = new Car(175, "白色");
 9         oos.writeObject(car1);
10         oos.close();
11 
12         //反序列化过程
13         ObjectInputStream ois = new ObjectInputStream(new FileInputStream("car1.ser"));
14         Car car2 = (Car) ois.readObject();
15         System.out.println("car2:" + car2);
16         ois.close();
17     }
18 
19 }

三、单独运行序列化代码和反序列化代码即可得到测试结果

1 car2:Car{height=175, color='白色'}

posted on 2024-03-26 11:03  德邦总管  阅读(7)  评论(0编辑  收藏  举报

导航