java IO流: 练习:序列化集合

练习:序列化集合

  • 想在文件中保存多个对象时,可以把多个对象存储到一个集合中

  • 对集合进行序列化和反序列化

分析

  1. 定义一个存储Person对象的ArrayList集合
  2. 往ArrayList集合中存储Person对象
  3. 创建一个序列化流ObjectOutputStream对象
  4. 使用ObjectOutputStream对象中的方法writeObject,对集合进行序列化
  5. 创建一个反序列化ObjectInputStream对象
  6. 使用ObjectInputStream对象中的方法readObject读取文件中保存的集合
  7. 把Object类型的集合转换为ArrayList类型
  8. 遍历ArrayList集合
  9. 释放资源
public class Demo {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        ArrayList<Person> list=new ArrayList<>();
        list.add(new Person("张三",22));
        list.add(new Person("李四",11));
        list.add(new Person("王二",20));
        ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("D:\\document\\code\\xuexi\\java\\aaa\\a.txt"));
        oos.writeObject(list);
        ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\\document\\code\\xuexi\\java\\aaa\\a.txt"));
        Object o = ois.readObject();
        ArrayList<Person> list2=(ArrayList<Person>)o;
        oos.close();
        ois.close();
        for (Person person : list2) {
            System.out.println(person);
        }
    }
}
//结果:
//    Person{name='张三', age=22}
//    Person{name='李四', age=11}
//    Person{name='王二', age=20}
posted @ 2021-01-08 19:02  迪迦是真的  阅读(158)  评论(0)    收藏  举报
//复制代码按钮 //代码行号 //评论