java 反序列化例子
时间: 2023-07-18 10:13:40 浏览: 40
好的,以下是一个简单的 Java 反序列化例子:
假设你有一个名为 `MyObject` 的类,如下所示:
```java
import java.io.Serializable;
public class MyObject implements Serializable {
private String name;
private int age;
public MyObject(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
现在,你可以将这个对象序列化为一个文件,如下所示:
```java
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class SerializationExample {
public static void main(String[] args) {
MyObject obj = new MyObject("John", 30);
try {
FileOutputStream fos = new FileOutputStream("myobject.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.close();
fos.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
```
接下来,你可以使用以下代码将该对象反序列化回来:
```java
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class DeserializationExample {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("myobject.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
MyObject obj = (MyObject) ois.readObject();
ois.close();
fis.close();
System.out.println("Name: " + obj.getName());
System.out.println("Age: " + obj.getAge());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
```
注意:反序列化时,你需要强制转换为 `MyObject` 类型。
阅读全文