IO流的概念及其分类

@IO流的概念及其分类

O流的基本概念:
流的原理:

  1. 在 Java 程序中,对于数据的输入/输出操作以“流”
    (stream) 方式进行;
  2. J2SDK 提供了各种各样的“流”类,用以获取不同种类的
    数据;程序中通过标准的方法输入或输出数据。
  3. Java 的流类型一般位于 java.io 包中
    IO流的概念及其分类

流的概念:
数据源:

data source. 提供原始数据的原始媒介。常见的:数据库、
文件、其他程序、内存、网络连接、IO 设备。

数据源就像水箱,流就像水管中流着的水流,程序就是我
们最终的用户。 流是一个抽象、动态的概念,是一连串
连续动态的数据集合

流的分类IO流的概念及其分类
一.按流的方向分:

输入流:数据源到程序(InputStream、Reader 读进来)
输出流:程序到目的地(OutPutStream、Writer 写出去)**
二,按处理数据单元分:

字节流:按照字节读取数据(InputStream、OutputStream)
字符流:按照字符读取数据(Reader、Writer)
注意: 输入输出是相对于程序而言,而不是相对于源和目标而言

IO流的概念及其分类
三,按功能不同:

节点流:可以直接从数据源或目的地读写数据。
处理流(包装流):不直接连接到数据源或目的地,是其他
流进行封装。目的主要是简化操作和提高性能.
字节流和数据流的关系:

节点流处于 io 操作的第一线,所有操作必须通过他们进行;
处理流可以对其他流进行处理(提高效率或操作灵活性).
四大抽象类:
InputStream 和 和 OutputStream
Reader和Writer