21xrx.com
2024-11-05 19:34:05 Tuesday
登录
文章检索 我的文章 写文章
学习 Java 中的 Serialize 功能并实现数据的持久化
2023-06-14 15:12:56 深夜i     --     --
- Serialize - Java - 持久化

Java 中的 Serialize 功能可以将对象转换为字节流并存储在文件或数据库中,从而实现数据的持久化。本文将介绍 Serialize 的基本概念以及具体代码实现,帮助读者更好地掌握这一重要功能。

在 Java 中,对象需要实现 Serializable 接口才能被 Serialize。下面是一个简单的实例:


import java.io.*;

public class Employee implements java.io.Serializable {

 public String name;

 public String address;

 public transient int ssn; // transient 关键字表示该属性不参与序列化

 public int number;

 

 public void mailCheck() {

  System.out.println("Mailing a check to " + name + " " + address);

 }

}

在上述代码中,Employee 类实现了 Serializable 接口,并定义了四个属性。其中,ssn 属性被标记为 transient,表示不参与序列化。

接下来是使用 Serialize 将 Employee 对象保存到文件中的代码:


import java.io.*;

public class SerializeDemo {

 public static void main(String[] args) {

 

  Employee e = new Employee();

  e.name = "Tom";

  e.address = "123 Main St, Anytown USA";

  e.ssn = 11122333;

  e.number = 101;

  

  try {

   FileOutputStream fileOut = new FileOutputStream("employee.ser");

   ObjectOutputStream out = new ObjectOutputStream(fileOut);

   out.writeObject(e); // 将对象写入文件中

   out.close();

   fileOut.close();

   System.out.println("Serialized data is saved in employee.ser");

  } catch (IOException i) {

   i.printStackTrace();

  }

 }

}

上述代码中,我们定义了一个 Employee 对象并将其写入文件中。文件名为 employee.ser,对应的输出为“Serialized data is saved in employee.ser”。

通过 Serialize 功能,我们可以将对象转换为字节流并进行数据持久化。在读取数据时,只需要使用 ObjectInputStream 类即可。

三个关键词:

- Serialize

- Java

- 持久化

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复