练习-序列化集合-打印流_概述和使用

练习-序列化集合

练习:序列化集合
当我们想在文件中保存多个对象的时候可以把多个对象存储到一个集合中对集合进序列化和反序列化
分析:
  1.定义一个存储Person对象的ArrayList集合

  2.往ArrayList集合中存储Person对象
  3.创建一个序列化流objectoutputstream对象
  4.使用objectoutputstream对象中的方法writeobject,对集合进行序列化

  5.创建一个反序列化objectInputstream对象
  6.使用objectInputstream对象中的方法readobject读取文件中保存的集合

  7.把object类型的集合转换为ArrayList类型
  8.遍历Arraylist集合
  9.释放资源

package A_Lian_one.demo20_IO;

import mian_01.Person;

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

public class Demo03Test {

    public static void main(String[] args) throws IOException, ClassNotFoundException {
        ArrayList<Person> list = new ArrayList<>();
        list.add(new Person("张三",18));
        list.add(new Person("张三",18));
        list.add(new Person("张三",20));

        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("a.txt"));
        oos.write(list);
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("a.txt"));
        Object oo = ois.readObject();
        ArrayList<Person> oo1 = (ArrayList<Person>) oo;
        for (Person person : oo1) {
            System.out.println(person);
        }
        oos.close();
        ois.close();

    }
}

打印流_概述和使用

平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。

 

 

可以改变输出语句的目的地(打印流的流向)输出语句,默认在控制台输出
使用System.setout方法改变输出语句的目的地改为参数中传递的打印流的目的地
static void setout (Printstream out)
重新分配“标准”输出流。

 

posted @ 2022-07-13 09:09  ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ  阅读(23)  评论(0)    收藏  举报