Home> Java> javaTutorial> body text

How to do java serialization and deserialization?

王林
Release: 2024-04-15 10:33:02
Original
290 people have browsed it

Java serialization and deserialization is a persistence mechanism for storing objects as a sequence of bytes. Serialization uses the java.io.Serializable interface and ObjectOutputStream to write objects to a file or network. Deserialization uses an ObjectInputStream to read a sequence of bytes from a file or network and reconstruct the original object. Serialization and deserialization are used in Java to persist objects, such as persisting user objects for later reloading.

How to do java serialization and deserialization?

An in-depth guide to Java serialization and deserialization

Introduction

Serialization refers to storing an object in a file or network as bytes so that it can be deserialized later and reconstruct the original object. Deserialization is the opposite, it converts data in bytes form into raw objects.

Serialization

In Java, objects can be serialized using thejava.io.Serializableinterface. To serialize an object into a file, you can useObjectOutputStream:

// 创建一个对象要序列化的 FileOutputStream FileOutputStream fileOut = new FileOutputStream("object.ser"); // 使用 ObjectOutputStream 将对象写入文件中 ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(myObject); // 关闭 ObjectOutputStream out.close();
Copy after login

Deserialization

To deserialize an object from a file, You can useObjectInputStream:

// 创建一个 FileInputStream 以读取序列化的文件 FileInputStream fileIn = new FileInputStream("object.ser"); // 使用 ObjectInputStream 从文件中读取对象 ObjectInputStream in = new ObjectInputStream(fileIn); MyObject myDeserializedObject = (MyObject) in.readObject(); // 关闭 ObjectInputStream in.close();
Copy after login

Practical case: Persistent user object

Assume we have aUserobject, we It needs to be stored in a file for persistence. We can do this:

// 创建一个 User 对象 User user = new User("John", "Doe"); // 将 User 对象序列化到文件中 FileOutputStream fileOut = new FileOutputStream("user.ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(user); out.close(); // 从文件中反序列化 User 对象 FileInputStream fileIn = new FileInputStream("user.ser"); ObjectInputStream in = new ObjectInputStream(fileIn); User deserializedUser = (User) in.readObject(); in.close(); // 确认反序列化的 User 对象 System.out.println(deserializedUser.getName() + " " + deserializedUser.getLastName()); // 打印:John Doe
Copy after login

Conclusion

Java serialization is a powerful mechanism for object persistence. Through thejava.io.Serializableinterface and theObjectOutputStreamandObjectInputStreamclasses we can easily serialize and deserialize objects.

The above is the detailed content of How to do java serialization and deserialization?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!