用Java 对象流输出一个学生集合序列化
时间: 2023-07-19 12:27:57 浏览: 103
好的,下面是Java代码示例:
```java
import java.io.*;
import java.util.ArrayList;
public class Student implements Serializable {
private int id;
private String name;
private int age;
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public static void main(String[] args) throws IOException {
ArrayList<Student> list = new ArrayList<>();
list.add(new Student(1, "Tom", 18));
list.add(new Student(2, "Jerry", 19));
list.add(new Student(3, "Lucy", 20));
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("student.ser"));
oos.writeObject(list);
oos.close();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("student.ser"));
try {
ArrayList<Student> newList = (ArrayList<Student>) ois.readObject();
for (Student s : newList) {
System.out.println(s.id + " " + s.name + " " + s.age);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
ois.close();
}
}
```
在这个示例中,我们定义了一个 `Student` 类,并实现了 `Serializable` 接口,这样才能将对象序列化。然后,我们创建了一个学生集合,并将其序列化到文件 `student.ser` 中。接着,我们读取这个文件,并将其反序列化为一个新的学生集合,最后输出每个学生的信息。
阅读全文