练习-序列化集合

package com.chunzhi.Test04ObjectStream;

import java.io.*;
import java.util.ArrayList;

/*
    练习:序列化集合
        当我们想在文件中保存多个对象的时候
        可以把多个对象储存到一个集合中
        对集合进行序列化和反序列化
 */
public class Test {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        // 1.定义了一储存Person对象的ArrayList集合
        ArrayList<Person> list = new ArrayList<>();
        // 2.往ArrayList集合中储存Person对象
        list.add(new Person("迪丽热巴", 22));
        list.add(new Person("古力娜扎", 19));
        list.add(new Person("玛尔扎哈", 26));
        // 3.创建一个序列化ObjectOutputStream对象
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("Day10_IO\\序列化练习.txt"));
        // 4.使用ObjectOutputStream对象中的方法writeObject,对集合进行序列化
        oos.writeObject(list);
        // 5.创建一个反序列化ObjectInputStream对象
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("Day10_IO\\序列化练习.txt"));
        // 6.使用ObjectInputStream对象中的方法readObject读取文件中保存的集合
        Object person = ois.readObject();
        // 7.把Object类型的集合转换为ArrayList类型
        ArrayList<Person> list1 = (ArrayList<Person>) person;
        // 8.遍历ArrayLis集合
        for (Person person1 : list1) {
            System.out.println(person1);
        }
        // 9.释放资源
        ois.close();
        oos.close();
    }
}

 

posted @ 2020-11-25 21:45  春志  阅读(63)  评论(0编辑  收藏  举报