Java之序列化和反序列化

序列化的对象:

 1 package test_demo.SerializableOper;
 2 
 3 import java.io.Serializable;
 4 /*
 5 * 序列化对象需要实现序列号接口
 6 * */
 7 public class Book implements Serializable {
 8 //    指定序列化的jdk版本
 9 //    private static final long serialVersionUID =1L;
10     String name;
11     int price;
12 
13     public Book(String name, int price) {
14         this.name = name;
15         this.price = price;
16     }
17 
18     public String toString() {
19         return "name: " + name + ", price: " + price;
20     }
21 }

序列化和反序列化操作代码:

 1 package test_demo.SerializableOper;
 2 
 3 import java.io.*;
 4 
 5 /*
 6 * 序列化和反序列化举例
 7 * 序列化:把对象保存在硬盘的过程
 8 * 序列化的对象需要实现序列化接口
 9 * */
10 public class SerializableOper {
11     public static void main(String args[]) throws IOException, ClassNotFoundException {
12         Book book = new Book("阿甘正传", 55);
13         System.out.println(book);
14         String filePath = "C:\testdata\s\book.txt";
15 
16         // 序列化
17         FileOutputStream fos = new FileOutputStream(filePath);
18         ObjectOutputStream oos = new ObjectOutputStream(fos);
19         oos.writeObject(book);
20         oos.close();
21         fos.close();
22 
23         // 反序列化
24         FileInputStream fis = new FileInputStream(filePath);
25         ObjectInputStream ois = new ObjectInputStream(fis);
26         Book b = (Book) ois.readObject();
27         System.out.println(b);
28 
29     }
30 }

book对象序列化后保存在C: estdatasook.txt中。

原文地址:https://www.cnblogs.com/gongxr/p/7997759.html