上一篇
在Java开发中,经常需要将对象保存到文件或通过网络传输。这时,Java ObjectOutputStream 就派上用场了!本教程将从零开始,详细讲解如何使用 ObjectOutputStream 实现对象的序列化(Serialization),即使你是编程小白,也能轻松掌握。
Java序列化 是指将Java对象转换为字节流的过程,以便可以将其保存到文件、数据库或通过网络发送。反序列化则是将字节流还原为原始对象的过程。
要使一个类的对象可被序列化,该类必须实现 java.io.Serializable 接口。
Serializable 接口。FileOutputStream 对象,指向目标文件。FileOutputStream 包装进 ObjectOutputStream。writeObject() 方法写入对象。下面是一个完整的例子,演示如何将一个 Person 对象序列化并保存到文件中。
import java.io.*;public class Person implements Serializable { private static final long serialVersionUID = 1L; private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}"; }}public class SerializationDemo { public static void main(String[] args) { Person person = new Person("张三", 25); try (FileOutputStream fileOut = new FileOutputStream("person.ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut)) { out.writeObject(person); System.out.println("对象已成功序列化并保存到 person.ser 文件!"); } catch (IOException e) { e.printStackTrace(); } }}
serialVersionUID,避免因类结构变化导致反序列化失败。transient 修饰。要从文件中读取对象,使用 ObjectInputStream:
try (FileInputStream fileIn = new FileInputStream("person.ser"); ObjectInputStream in = new ObjectInputStream(fileIn)) { Person person = (Person) in.readObject(); System.out.println("反序列化成功:" + person); } catch (IOException | ClassNotFoundException e) { e.printStackTrace();}
通过本教程,你已经掌握了 Java ObjectOutputStream 的基本用法,学会了如何实现 Java对象流操作 和 Java序列化教程 中的核心技能。记住,序列化是Java中处理对象持久化和网络传输的重要技术,熟练掌握 ObjectOutputStream使用方法 对你的开发之路大有裨益!
赶快动手试试吧!如有疑问,欢迎在评论区留言交流。
本文由主机测评网于2025-12-27发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251213177.html