如何在Java中实现对象的序列化和反序列化
在Java中,对象的序列化和反序列化通常通过Java的内置APIjava.io.Serializable
和java.io ObjectInputStream
、java.io ObjectOutputStream
来实现。
- 序列化(Serializing):将一个对象转换为可以存储或网络传输的形式。在对象上添加
Serializable
接口,例如:
class SerializableExample implements Serializable {
private String name;
// getters and setters
}
SerializableExample obj = new SerializableExample();
// 对象进行序列化
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("obj.ser")))) {
out.writeObject(obj);
}
- 反序列化(Deserializing):将存储或网络传输的格式转换回原始的对象。使用
ObjectInputStream
读取:
// 从文件中反序列化对象
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("obj.ser")))) {
SerializableExample obj = (SerializableExample) in.readObject();
// 处理反序列化后的对象
}
catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
以上就是Java中实现对象序列化和反序列化的基本步骤。
还没有评论,来说两句吧...