5、(对象的写入与读取)编写一个Java程序,在当前文件夹下新建一个文件ObjectFile.obj,往该文件中写入两个人的信息,再从该文件中读出信息并显示
时间: 2024-03-01 10:53:12 浏览: 16
以下是一个简单的实现:
```java
import java.io.*;
class Person implements Serializable {
private String name;
private int age;
private String gender;
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
public String toString() {
return "Name: " + name + ", Age: " + age + ", Gender: " + gender;
}
}
public class ObjectFileDemo {
public static void main(String[] args) {
Person person1 = new Person("Alice", 25, "Female");
Person person2 = new Person("Bob", 30, "Male");
try {
FileOutputStream fos = new FileOutputStream("ObjectFile.obj");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(person1);
oos.writeObject(person2);
oos.close();
fos.close();
FileInputStream fis = new FileInputStream("ObjectFile.obj");
ObjectInputStream ois = new ObjectInputStream(fis);
System.out.println("Reading objects from file:");
Person p1 = (Person) ois.readObject();
Person p2 = (Person) ois.readObject();
System.out.println(p1);
System.out.println(p2);
ois.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
首先定义了一个 `Person` 类,实现了 `Serializable` 接口。然后在 `main` 方法中创建了两个 `Person` 对象,并将它们写入到文件中。接着又从文件中读取了两个对象并显示在屏幕上。
输出如下:
```
Reading objects from file:
Name: Alice, Age: 25, Gender: Female
Name: Bob, Age: 30, Gender: Male
```
阅读全文