IO流:
流是一个很形象的概念,当程序需要读取数据的时候,会开启一个通向数据源的流。这个数据源可以是文件,内存,或是网络连接。类似的。当程序需要写入流的时候就会开启一个通向目的地的流。
流的分类:
按其流向分为“输入流”和“输出流”
- “输入流”:指将数据从文件、标准输入或其他外部输入设备中加载到内存
- “输出流”:方向与输入流恰恰相反
按数据阐述单位分为“字节流”和“字符流”
- “字节流”用来读写8位二进制字节,如多媒体文件,它的结构顶层是Input/OutputStream
- “字符流”用来读写16位的二进制字符,如文本文件,它的结构顶层是Reader/Writer
按功能分为“节点流”和“过滤流”
- “节点流”用于直接操作目标设备的流,例如:磁盘或一块内存区域(数据源)
- “过滤流”是对“节点流”的封装,使“节点流”的功能更灵活,更强大
IO框架介绍:
graph TD
A[java.io]-->B[File]
A[java.io]-->C[Input/OutputStream]
A[java.io]-->D[Reader/Writer]
InputOutputStream
ReaderWriter