如何在Java中序列化和反序列化对象?
的串行化 是改变对象的状态改变成一个的处理字节流中,对象被说成是可序列化的,如果它的类 或父 类实现任一序列化öřËxternalizable 接口和反序列化 是将序列化的对象的处理回到一个对象的副本。
在序列化期间,如果我们不想使用瞬态 关键字在字节流中写入特定变量的状态。当JVM 使用transient关键字时,它会忽略变量的原始状态,并存储该数据类型的默认值,即,对于int为0,对于byte为0,对于float为0.0,等等。可以对对象进行序列化 通过FileOutputStream 和ObjectOutputStream 类。
示例
import java.io.*;
public class SerializationTest implements Serializable {
int a = 1, b = 2;
transient int c = 3;
public static void main(String[] args) throws Exception {
SerializationTest obj = new SerializationTest(); // serialization FileOutputStream fos = new FileOutputStream("serialization.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj); // de-serialization FileInputStream fis = new FileInputStream("serialization.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
SerializationTest test = (SerializationTest)ois.readObject();
System.out.println("a = " + test.a);
System.out.println("b = " + test.b);
System.out.println("c = " + test.c);
}
}输出结果
a = 1 b = 2 c = 0
热门推荐
10 信耶稣的人祝福语简短
11 周末祝福语正能量简短
12 新房开工吉日祝福语简短
13 发小结婚简短祝福语
14 老哥出门祝福语简短语
15 春节后的祝福语简短
16 聚餐会祝福语简短
17 同事男生节祝福语简短
18 生日祝福语 简短独特高考