编写Java应用程序,创建一个可序列化类,将该类的对象写入到文件中。用对象输入流读取并显示对象信息。
时间: 2024-03-16 21:47:30 浏览: 68
类和对象的序列化,可以序列化程xml或者byte
好的,我可以帮你解决这个问题。以下是一个示例程序,它演示了如何创建可序列化类、将其对象写入文件,以及使用对象输入流读取并显示对象信息。
首先,创建一个可序列化的类,例如名为Person的类。该类需要实现Serializable接口,并定义一些属性和方法,例如:
```java
import java.io.Serializable;
public class Person implements Serializable {
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;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
```
接下来,编写一个主类,它将创建Person类的对象,并将其写入文件。示例代码如下:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
// 创建Person对象
Person person = new Person("张三", 20);
// 将Person对象写入文件
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.dat"))) {
oos.writeObject(person);
} catch (IOException e) {
e.printStackTrace();
}
// 从文件中读取Person对象
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.dat"))) {
Person p = (Person) ois.readObject();
System.out.println(p);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
在这个示例程序中,我们创建了一个Person对象,并将其写入名为“person.dat”的文件中。我们使用ObjectOutputStream类将对象写入文件。ObjectOutputStream类提供了writeObject()方法,它将对象序列化并写入文件。
接下来,我们使用ObjectInputStream类从文件中读取Person对象。ObjectInputStream类提供了readObject()方法,它将从文件中读取对象并反序列化它。
最后,我们将读取的Person对象打印输出到控制台,以确保对象已成功读取。
希望这个示例程序能够帮助你理解如何创建可序列化类、将其对象写入文件,以及使用对象输入流读取并显示对象信息。
阅读全文