【处理流】

处理流可以隐藏底层设备上节点流的差异,并对外提供更加方便的输入/输出的方法。

使用处理流的思路:

使用处理流来包装节点流,程序通过处理流来执行输入输出功能,让节点流与底层的I/O设备、文件交互。

使用处理流的主要优势:

1.对于开发人员,使用处理流进行输入/输出操作更加简单。

2.使用处理流的执行效率更高。

【 区分处理流和节点流 】

只要流的构造方法参数不是一个物理节点,而是一个已经存在的流,那么这种流一定是处理流。

所有的节点流都是直接以物理IO节点作为构造方法的参数的。

【测试1:】

package com.Higgin.part4;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream; /**
* 处理流
*/
public class PrintStreamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos=new FileOutputStream("c://testJavaIO/sss.java"); //定义一个节点输出流
PrintStream ps=new PrintStream(fos,true,"UTF-8"); //用处理流PrintStream包装 fos节点输出流
//PrintStream ps=new PrintStream(fos); //不考虑乱码问题这样包装即可
ps.println("啦啦啦啦"); //使用PrintStream执行输出
ps.println("Higgin Cui");
ps.close(); //使用处理流包装了底层的节点流之后,最后只需要关闭最上层的处理流即可。
//关闭最上层的处理流的时候,系统会自动关闭被该处理流包装的节点流
}
}

【程序运行之前】

IO流06_处理流-LMLPHP

【运行之后】

IO流06_处理流-LMLPHP

【小结】

首先定义了一个节点输出流FileOutputStream,

然后使用程序PrintStream包装了该节点输出流,

最后使用PrintStream的println()方法输出。

PrintStream类的输出功能非常强大,通常,如果需要输出文本内容,都应该将输出流包装成PrintStream后进行输出。

【注意点】

在使用处理流包装了底层的节点之后,只要关闭处理流即可,关闭处理流时,系统会自动关闭被该处理流包装的节点流。

05-11 01:16