IO流-打印流、properties集合--java进阶day14

1.打印流

使用打印流,可以使数据原封不动地进行输出

我们会发现,打印流使用的方法是println,这是我们熟悉的打印语句,其实打印语句本质就是使用的打印流

2.打印语句:本质使用的是打印流的方法

在System这个类里,有三个静态修饰的成员变量,如下图

使用类名直接调用这些变量,例如:System.out,此时返回值是PrintStream,也就是打印流,而打印流里有println方法,这就是我们使用的打印语句:System.out.println

如下图,是打印语句的完整形式

我们可以省去中间变量ps,最后就变成了我们熟知的打印语句

3.描述中“标准”的解释

[1]out

System里的三个静态成员变量,在描述里说的“标准”即指控制台,“标准”输出流指输出的方向默认指向控制台,所有写出的数据都会显示在控制台

[2]in

“标准”输入流,读取控制台数据,之前Scanner中的键盘录入,就是对“标准”输入流进行封装

[3]err

“标准”错误输出流,返回的也是打印流,可以在控制台打印带有红色的错误信息

4.PrintStream的基本使用

1.构造方法:不止有通向控制台,使用构造方法可以选择任意通向的路径

2.常使用的方法

打印流的基本使用

结果如下

3.按照指定字符编码写出数据

括号里第二个参数传入指定的字符编码

4.追加写入

PrintStream里不存在带有追加写入开关的构造方法,如果想进行追加写入,我们就要使用传入参数是字节输出流的构造方法,通过字节流打开追加写入开关

如下图

5.PrintWriter字符打印流

和打印流的使用一样,只不过是字符流,内置数组,需要使用close和flush才能写出数据

6.Properties集合

Properties的父类是hashtable,hashtable是同步的,即线程安全,hashMap是不同步,线程不安全

该集合只能装入字符串,所以不需要泛型

7.Properties的两种使用

[1]作为集合的使用

1.构造方法

2.常用的方法


如图,往集合里添加键值对。顺序不一样,是因为该集合的父类是hashtable

根据键查找对应的值

遍历集合,通过stringPropertiesNames获取到所有的键,再通过getProperties获取到键对应的值

[2]和流中有关的方法

1.将数据写入到文件中

store的第二个参数是注释,不想写注释时可以传入null

将字符流写到外面,是方便后续的关流操作,如果直接在括号里new对象不方便关流

当传入的参数是字节流时,文件里的数据是以unicode形式展示,字符流则是原样展示

2.将文件的数据加载到集合

如图

总结

posted @ 2025-05-04 14:14  直実  阅读(22)  评论(0)    收藏  举报