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

练习序列化集合

1、将存有多个自定义对象的集合序列化操作,保存到list.txt文件中。
2、反序列化list.txt ,并遍历集合,打印对象信息。

案例分析
1、定义一个存储Person对象的ArrayList集合
2、往ArrayList集合中存储Person对象
3、创建一个序列化流ObjectOutputStream对象
4、使用ObjectOutputStream对象中的方法writeObject,对集合进行序列化
5、创建一个反序列化ObjectInputStream对象
6、使用ObjectInputStream对象中的方法readObject读取文件中保存的集合
7、把Object类型的集合转换为ArrayList类型
8、遍历ArrayList集合
9、释放资源

打印流概述和使用

概述

java.io.PrintStream:打印流
PrintStream为其他输出流添加了功能,使他们能够方便地打印各种数据值表示形式。
PrintStream特点:
1.只负责数据的输出,不负责数据的读取
2.与其他输出流不同,PrintStream永远不会抛出异常IOException
3.有特有的方法,print,println
void print(任意类型的值)
void println(任意类型的值并换行)

构造方法

PrintStream(File file):输出的目的地是一个文件
PrintStream(OutputStream out):输出的目的地是一个字节输出流
PrintStream(String fileName):输出的目的地是一个文件路径
PrintStream extends OutputStream
继承自父类的方法:
-public void close(): 关闭此输出流并释放与此流相关联的任何系统资源
-public void flush(): 刷新此输出流并强制任何缓冲流的输出字节被写入
-public void write(byte[] b): 将b.leng字节从指定的字节数组写入此输出流
-public void write(byte[] b,int off,int len): 从指定的字节数组写入len字节,从偏移量off开始输出到此输出流
-public abstract void write(int b): 将指定的字节写入此流。

注意:
如果使用继承自父类的write方法写数据,那么查看数据的时候会查询编码表 97–>a
如果使用自己特有的方法print/println方法写数据,写的数据原样输出 97–>97

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

posted @ 2022-07-12 13:33  肥宅快乐水~  阅读(35)  评论(0编辑  收藏  举报