(对象的写入与读取)编写一个Java程序,在当前文件夹下新建一个文件ObjectFile.obj,往该文件中写入两个人的信息,再从该文件中读出信息并显示;
时间: 2024-03-01 20:54:15 浏览: 19
好的,以下是我的答案:
首先,我们需要定义一个Person类,用于存储人的信息,如下所示:
```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 +
'}';
}
}
```
然后,我们可以编写一个Java程序,往文件ObjectFile.obj中写入两个人的信息,并从该文件中读取信息并显示,如下所示:
```java
import java.io.*;
public class ObjectFileDemo {
public static void main(String[] args) {
try {
// 创建文件输出流,写入两个人的信息到文件ObjectFile.obj中
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("ObjectFile.obj"));
Person person1 = new Person("张三", 20);
Person person2 = new Person("李四", 25);
oos.writeObject(person1);
oos.writeObject(person2);
oos.close();
// 创建文件输入流,读取两个人的信息并显示
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("ObjectFile.obj"));
Person p1 = (Person) ois.readObject();
Person p2 = (Person) ois.readObject();
ois.close();
System.out.println("读取的第一个人的信息为:" + p1);
System.out.println("读取的第二个人的信息为:" + p2);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
这个程序会在当前文件夹下新建一个名为ObjectFile.obj的文件,并向其中写入两个人的信息。然后再从该文件中读取这些信息并显示出来。注意,这里使用了ObjectInputStream和ObjectOutputStream来读写对象。由于我们要将Person对象写入文件,因此Person类需要实现Serializable接口。