编写Java应用程序,创建一个可序列化类,将该类的对象写入到文件中。用对象输入流读取并显示对象信息
时间: 2024-03-15 19:44:58 浏览: 22
java 对象序列化
好的,以下是代码示例:
```java
import java.io.*;
// 可序列化类
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;
}
public String toString() {
return "Name: " + name + ", Age: " + age;
}
}
public class SerializeExample {
public static void main(String[] args) {
// 创建对象
Person person = new Person("张三", 20);
// 序列化对象并写入文件
try {
FileOutputStream fileOut = new FileOutputStream("person.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(person);
out.close();
fileOut.close();
System.out.println("Person对象已经被序列化并写入到person.ser文件中");
} catch (IOException i) {
i.printStackTrace();
}
// 从文件中读取序列化的对象
try {
FileInputStream fileIn = new FileInputStream("person.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
Person p = (Person) in.readObject();
in.close();
fileIn.close();
// 显示对象信息
System.out.println("从person.ser文件中读取到的Person对象的信息如下:");
System.out.println(p.toString());
} catch (IOException i) {
i.printStackTrace();
} catch (ClassNotFoundException c) {
System.out.println("Person类未找到");
c.printStackTrace();
}
}
}
```
运行该程序后,会在项目根目录下生成一个名为`person.ser`的文件,并显示从该文件中读取到的`Person`对象的信息。
阅读全文