一、输入和输出简介
输入(Input)指的是:可以让程序从外部系统获得数据(核心含义是“读”,读取外部数据)。
输出(Output)指的是:程序输出数据给外部系统从而可以操作外部系统(核心含义是“写”,将数据写出到外部系统)。
二、数据源和流的理解
数据源data source,是提供数据的原始媒介。
流是一个抽象、动态的概念,是一连串连续动态的数据集合。
当程序需要读取数据源的数据时,就会通过IO流对象开启一个通向数据源的流,通过这个IO流对象相关方法可以顺序读取流中的数据。
三、IO流分类体系
1)按流的方向分类
输入流:数据流向是数据源到程序(InputStream、Reader结尾的流)
输出流:数据流向是程序到目的地(OutPutStream、Writer结尾的流)
2)按处理的数据单元分类
字节流:按照字节读取数据(InputStream、OutputStream),命名上以stream结尾的流一般是字节流。
字符流:按照字符读取数据(Reader、Writer),命名上以Reader/Writer结尾的流一般是字符流。
3)按处理对象不同分类
节点流(普通流):可以直接从数据源或目的地读写数据。
处理流(包装流):不直接连接到数据源或目的地,是“处理流的流”。通过对其它流进行封装,目的主要是简化操作和提高程序的性能。
节点流处于IO操作的第一线,所有操作必须通过他们进行;处理流可以对节点流进行包装,提高性能或提高程序的灵活性。
【重点!】IO流体系