序列化问题:Java对象反序列化示例
在Java中,对象的序列化和反序列化通常通过Object类或者使用一些专门的库来实现。
这里以一个简单的Person类为例,展示反序列化的过程:
创建一个序列化的对象:
```java
// 假设我们有一个Person类
class Person {
String name;
int age;// 构造函数
public Person(String name, int age) {this.name = name;
this.age = age;
}
}
// 创建一个Person实例
Person person = new Person(“John Doe”, 30);
2. 将这个对象序列化为字节流:
```java
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"));
oos.writeObject(person);
oos.close();
存储文件(如person.ser)。
现在需要反序列化这个字节流回原来的Person对象:
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser")); );
Person restoredPerson = (Person) ois.readObject();
ois.close();
// 检查恢复的Person是否与原始一致
System.out.println(restoredPerson.getName() + " " + restoredPerson.getAge()); // 输出:John Doe 30
以上就是Java对象反序列化的一个简单示例。
还没有评论,来说两句吧...