编写Java应用程序,创建一个可序列化类,将该类的对象写入到文件中。用对象输入流读取并显示对象信息
时间: 2024-03-15 12:43:52 浏览: 60
java 对象序列化
好的,我会尽力回答你的问题。
首先,我们需要编写一个可序列化的 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;
}
}
```
接下来,我们需要将该类的对象写入到文件中。我们可以编写一个方法来实现这个功能,例如:
```
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public static void writeObjectToFile(Person person, String filename) {
try (FileOutputStream fos = new FileOutputStream(filename);
ObjectOutputStream oos = new ObjectOutputStream(fos)) {
oos.writeObject(person);
} catch (Exception e) {
e.printStackTrace();
}
}
```
这个方法将一个 `Person` 对象写入到指定的文件中。
最后,我们需要用对象输入流读取并显示对象信息。我们可以编写一个方法来实现这个功能,例如:
```
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public static void readObjectFromFile(String filename) {
try (FileInputStream fis = new FileInputStream(filename);
ObjectInputStream ois = new ObjectInputStream(fis)) {
Person person = (Person) ois.readObject();
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
} catch (Exception e) {
e.printStackTrace();
}
}
```
这个方法从指定的文件中读取一个 `Person` 对象,并显示该对象的信息。
最后,我们可以在主方法中调用这些方法,例如:
```
public static void main(String[] args) {
Person person = new Person("Alice", 25);
writeObjectToFile(person, "person.dat");
readObjectFromFile("person.dat");
}
```
运行这个程序,它将输出以下信息:
```
Name: Alice
Age: 25
```
这就是将一个可序列化的 Java 类的对象写入到文件中,并用对象输入流读取并显示对象信息的方法。
阅读全文