Java基础学习IO总结2(流的概念、分类)

1、Java Io流的概念

           如何读写文件?

          通过流来读写文件

          流的概念:

          流是指一连串流动的字符,是以先进先出方式发 送信息的通道

        Java基础学习IO总结2(流的概念、分类)_第1张图片

 

        Java基础学习IO总结2(流的概念、分类)_第2张图片 

2、IO流的分类

    1.2.1 按照流的流向分,可以分为输入流和输出流。

  • 输入流:java的输入流主要是InputStream和Reader作为基类
  • 输出流:输出流则是主要由outputStream和Writer作为基类。

     它们都是一些抽象基类,无法直接创建实例。这里的输入输出是对计算机内存而言的

    1.2.2 按照操作单元划分,可以划分为字节流和字符流。

         字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同,字节流操作的单元是数据单元是8位的字节,字符流操作的是数据单元为16位的字符。

         字节流主要是由InputStream和outPutStream作为基类,而字符流则主要有Reader和Writer作为基类。

                        Java基础学习IO总结2(流的概念、分类)_第3张图片

    1.2.3 按照流的角色划分为节点流和处理流。

    可以从/向一个特定的IO设备(如磁盘,网络)读/写数据的流,称为节点流。节点流也被称为低级流。图15.3显示了节点流的示意图。 
    从图15.3中可以看出,当使用节点流进行输入和输出时,程序直接连接到实际的数据源,和实际的输入/输出节点连接。 
处理流则用于对一个已存在的流进行连接和封装,通过封装后的流来实现数据的读/写功能。处理流也被称为高级流。图15.4显示了处理流的示意图。

这里写图片描述

    从图15.4可以看出,当使用处理流进行输入/输出时,程序并不会直接连接到实际的数据源,没有和实际的输入和输出节点连接。使用处理流的一个明显的好处是,只要使用相同的处理流,程序就可以采用完全相同的输入/输出代码来访问不同的数据源,随着处理流所包装的节点流的变化,程序实际所访问的数据源也相应的发生变化。

你可能感兴趣的:(学习日记,Java)