IO流
I就是input(输入),O就是out(输出)
作 用:
数据在各个设备之间传输。就是通过流的方式完成的
流的分类:
根据流动方向的不同,分为输入流和输出流
输入流:从设备读取文件到程序中
输出流:从程序将文件写入到设备中
根据流的格式不同,流分为字节流和字符流
程序中的输入和输出都是以流的形式保存的,流中实际上全是字节文件(字节不是最小单位,还有位)
所有文件存储的都是字节,再次攀上保留的并不是文件的字符而是先把字符编码成字节,在存储到硬盘上,在读取是也是一个一个的读取以形成序列(不论是从设备读写文件还是网络传输,都是以字节为单位)
字节流和字符流区别:
字节流可以读写一切文件,字符流只能读写文本文件
根据流的功能不同,又分为节点流和处理流:
节点流:真正可读写的流(仅支持基本功能)
处理流:对已存在的流的连接和封装,实现更丰富的流数据处理,提高流读写效率(相
当于给节点流增加额外功能的流)
字节流的抽象父类
- InputStream字节输入流
- OutputStream字节输出流
字符流的抽象父类:
- Reader字符输入流
- Writer字符输出流
InputStream基础体系:
OutputStream基础体系:
Reader基础体系:
Writer基础体系:
Writer抽象类里的方法:
FileWriter类是Writer的子类:
BufferWriter类: