io 7.0 处理流的用法

处理流的用法

处理流的功能,它可以隐藏底层设备上节点流的差异,并对外提供更加方便的输入/输出方法,让程序员只需关心高级流的操作。

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

实际识别处理流非常简单,只要流的构造器参数不是一个物理节点,而是已经存在的流,那么这种流就一定是处理流;而所有节点流都是直接以物理IO节点作为构造器参数的。

提示: 关于使用处理流的优势,归纳起来就是两点:
①对开发人员来说,使用处理流进行输入/输出操作更简单;
②使用处理流的执行效率更高。

public class PrintStreamTest {
    public static void main(String[] args) {
        try (
                OutputStream out = new FileOutputStream("src\\com\\rrz\\print.txt");
                PrintStream print = new PrintStream(out)
        ) {
           print.println("把时间匆匆兑换成了年");
           print.println(new PrintStreamTest());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

上面程序中的两行粗体字代码先定义了一个节点输出流FileOutputStream,然后程序使用Print Stream包装了该节点输出流,最后使用PrintStream输出字符串、输出对象……PrintStream的输出功能非常强大,前面程序中一直使用的标准输出System.out的类型就是PrintStream。

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

从前面的代码可以看出,程序使用处理流非常简单,通常只需要在创建处理流时传入一个节点流作为构造器参数即可,这样创建的处理流就是包装了该节点流的处理流。

注意:
在使用处理流包装了底层节点流之后,关闭输入/输出流资源时,只要关闭最上层的处理流即可。关闭最上层的处理流时,系统会自动关闭被该处理流包装的节点流。

上一节:OutputStream 和 Writer
下一节:转换流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值