【处理流】

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

使用处理流的思路:

使用处理流来包装节点流,程序通过处理流来执行输入输出功能,让节点流与底层的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. java.IO输入输出流:过滤流:buffer流和data流

    java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...

  2. java IO流 之 其他流

    一.内存操作流(ByteArrayInputStream.ByteArrayOutputStream) (一).   public class ByteArrayInputStream extends ...

  3. java IO流 之 字符流

    字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...

  4. JAVA里面的IO流(一)分类2(节点流和处理流及构造方法概要)

    IO流根据处理对象的不同分为节点流和处理流. 直接对文件进行处理的流为节点流: 对流进行包装从而实现对文件的优化处理的流为处理流. 节点流类型: 可以看出,节点流主要分这几大类: 文件流 文件流构造方 ...

  5. JAVA IO 字节流与字符流

    文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.     ...

  6. 【JAVA IO流之字符流】

    一.概述. java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中.流按照操作数据不同分为两种,字节流和字符流.流按照流向分为输入流,输出流. 输入输出的“入”和“出”是相当于内存来 ...

  7. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...

  8. Java:IO流之转换流

    IO流的基本流情况: 字符流:                字符流缓冲区: FileReader              BufferedReader FileWriter             ...

  9. Java:IO流之字符流Reader、Writer详解

    java.io包中:字符流   字符流的两个抽象基类:   Reader         Writer   文件的读取:Reader抽象类(java.io包中) 直接子类的构造方法: FileRead ...

随机推荐

  1. JavaScript的this简单实用

    1.默认绑定全局变量,在全局函数中: function fn(){ console.log(this.a); } var a=2; fn();//这里调用的是window 2.隐式绑定: functi ...

  2. Java面试题集(51-70)

    Java程序员面试题集(51-70) 51.类ExampleA 继承Exception,类ExampleB 继承ExampleA. 有如下代码片断: try{ thrownew ExampleB(“b ...

  3. AQTime教程(1)

    AQTime教程 1 简介 AQTime和MemProof都是AutomatedQA旗下的产品,AQTime比MemProof提供了更丰富强大的功能.该产品含有完整的性能和调试工具集,能够收集程序运行 ...

  4. 已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数

      package homework002; import java.util.ArrayList; import java.util.List; import java.util.Random; p ...

  5. Lotus分析

    一 Lotus的任务 Lotus是一个消息通知服务,topic和subscription是多对多的关系.后面我加了一个发送自定义邮件和自定义短信的功能. 产品里面有个监控报警和通知列表.监控报警里创建 ...

  6. git在windows下clone、pull或者push内存溢出的解决办法

    发现国内使用git来真正管理源码的人不多,特别是大数据量的源码,今天使用git clone android的源码时突然出现remote out of memery,解决办法: git config - ...

  7. 全局唯一ID的生成方式

    一.程序直接生成: 使用jdk中的concurrent包可以轻松实现唯一数字型ID的生成,且无需考虑单例.采用高效率的CAS无需考虑synchronized关键字 import java.util.c ...

  8. NAT技术基本原理与应用

    转载自:http://www.cnblogs.com/derrick/p/4052401.html?utm_source=tuicool&utm_medium=referral#undefin ...

  9. Linux学习之路:shell变量(二)环境变量

    1.env (environment 的缩写)和export显示所有环境变量 2. 环境变量说明 环境变量 意义 HOME 用户主文件夹相当于“~” SHELL Linux默认为/bin/bash H ...

  10. 【转】adb uninstall卸载apk文件说明

    昨天在使用adb卸载程序,结果死活卸载不了.我输入的命令和系统提示如下: [plain] view plaincopy   arthur@arthur-laptop:~$ adb uninstall  ...