名词解释:
流: 流动,流向。从一端移动到另一端,流是抽象动态的概念,是一连串动态的数据集合。
数据源: 提供原始数据的原始媒介,常见的有:数据库,文件,其它程序,内存,网络连接,IO设备。
Java中IO的核心类
类 | 说明 |
---|---|
File | 文件类 |
InputStream | 字节输入流 |
OnputStream | 字节输出流 |
Reader | 字符输入流 |
Writer | 字符输出流 |
Closeable | 关闭流接口 |
Flushable | 刷新流接口 |
Serializable | 序列化接口 |
Java.IO包中最重要的就是上面表格中的五个类和三个接口
流分类
- 输入流:数据源到程序(InputStream,Reader)
- 输出流:程序到目的地(OnputStream,Writer)
- 节点流:直接从数据源或者目的地址读写数据
- 处理流(包装类):不直接连接到数据源或者目的地,是保证的节点流。目的主要是简化操作和提高性能。
- 字节流:按照字节读取数据(InputStream,OnputStream)
- 字符流1 :按照字符读取数据(Reader,Writer),字符编码2不同是字符流产生的直接原因
输入流与输出流关系:
节点流与处理流的关系:
节点流直接影响底层数据流,处理流可以对其它流进行处理,比如操作某些节点流,让节点流与底层的设备做IO操作,隐藏了底层的节点流的差异。