java.IO流的描述
流的本质是对数据有方向的一个传输,字节的一个集合;
流的作用是在数据源和程序之间建立通道;
Java的核心库java.io提供了全面的IO接口,包括文件读写,标准设备输出等,Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流输入。
IO原理
IO流用来处理设备之间的数据传输
Java程序中,对数据的输入输出操作以“流(steam)”的方式进行
Java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据
IO分类
1,按流向分
输入流:只能向其中读取数据,而不能向其中写入数据
输出流:只能向其中写入数据,而不能向其中读取数据
2,按照处理单元分
字节流(二进制流)
1,将字节解释为原始的二进制数据
2,读写均为字节数据
3,二进制数据不需要编码和解码,比文本IO效率要高
4,可移植(与主机编码方式无关)
5,以byte为单位进行传输
字符流
1,字符流将原始数据解析成一种字符
2,文本数据存储依赖文件编码方式,字符流的输入和输出需要进行编码和解码
字节流:inputStream outputStream
字符流:Reader Writer
3,按照流的角色分
节点流:程序直接连接到实际的处理源
处理流:对已存在的流进行封装
IO流体系