编写一个Java程序,在当前文件夹下新建一个文件ObjectFile.obj,往该文件中写入两个人的信息,再从该文件中读出信息并显示;
时间: 2024-03-01 10:54:09 浏览: 44
以下是代码实现:
```java
import java.io.*;
public class ObjectFileDemo {
public static void main(String[] args) {
// 写入两个人的信息到ObjectFile.obj文件中
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("ObjectFile.obj"));
Person p1 = new Person("Tom", 20);
Person p2 = new Person("Mike", 25);
oos.writeObject(p1);
oos.writeObject(p2);
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 从ObjectFile.obj文件中读取信息并显示
try {
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();
}
}
}
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;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
这里使用了ObjectOutputStream和ObjectInputStream类来进行对象的写入和读取,需要注意的是被写入的对象必须实现Serializable接口,否则会出现NotSerializableException异常。同时,读取对象时需要进行类型转换。
阅读全文