Java之序列化和反序列化的示例分享
下文笔者讲述java中序列化和反序列化的方法及示例分享,如下所示
Java中的序列化和反序列化过程中
使用的方法是ObjectOutputStream 和 ObjectInputStream
ObjectOutputStream:
用于将对象序列化为字节流
ObjectInputStream:
用于将字节流反序列化为对象
例:序列化和反序列化的示例
import java.io.*;
public class SerializationExample {
public static void main(String[] args) {
// 创建对象
Person person = new Person("java265",18);
// 序列化对象
try {
FileOutputStream fileOut = new FileOutputStream("person.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(person);
out.close();
fileOut.close();
System.out.println("序列化成功");
} catch (IOException ex) {
ex.printStackTrace();
}
// 反序列化对象
try {
FileInputStream fileIn = new FileInputStream("person.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
Person obj = (Person) in.readObject();
in.close();
fileIn.close();
System.out.println("反序列化成功");
System.out.println("读取对象:" + obj);
} catch (IOException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
}
// 实现 Serializable 接口
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;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


