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_字节输出流写入数据到文件