IO流06_处理流
Posted HigginCui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流06_处理流相关的知识,希望对你有一定的参考价值。
【处理流】
处理流可以隐藏底层设备上节点流的差异,并对外提供更加方便的输入/输出的方法。
使用处理流的思路:
使用处理流来包装节点流,程序通过处理流来执行输入输出功能,让节点流与底层的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(); //使用处理流包装了底层的节点流之后,最后只需要关闭最上层的处理流即可。 //关闭最上层的处理流的时候,系统会自动关闭被该处理流包装的节点流 } }
【程序运行之前】
【运行之后】
【小结】
首先定义了一个节点输出流FileOutputStream,
然后使用程序PrintStream包装了该节点输出流,
最后使用PrintStream的println()方法输出。
PrintStream类的输出功能非常强大,通常,如果需要输出文本内容,都应该将输出流包装成PrintStream后进行输出。
【注意点】
在使用处理流包装了底层的节点之后,只要关闭处理流即可,关闭处理流时,系统会自动关闭被该处理流包装的节点流。
以上是关于IO流06_处理流的主要内容,如果未能解决你的问题,请参考以下文章
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_4_OutputStreamWriter介绍&代码实现
java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_3_转换流的原理
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_3_对象的反序列化流_ObjectInputStream
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_4_字节输出流写入数据到文件