将多个自定义对象序列化到文件中,但是对象的个数不确定,该如何操作呢?
先写
public class Test08 {
public static void main(String[] args) throws IOException {
/*需求:
将多个自定义对象序列化到文件中,但是对象的个数不确定,该如何操作呢?
*/
//1.序列化多个对象
Student s1 = new Student("zhangsan",23,"南京");
Student s2 = new Student("lisi",24,"重庆");
Student s3 = new Student("wangwu",25,"北京");
ArrayList<Student> list = new ArrayList<>();
list.add(s1);
list.add(s2);
list.add(s3);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("myio\\a.txt"));
oos.writeObject(list);
oos.close();
}
}
再读
public class Test09 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
//1.创建反序列化流的对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("myio\\a.txt"));
//2.读取数据
ArrayList<Student> list = (ArrayList<Student>) ois.readObject();//一次读一个对象
//EOFException异常读到了文件末尾
for (Student student : list) {
System.out.println(student);
}
//3.释放资源
ois.close();
}
}