就IO流的不同维度进行分类讨论,为大家带来iava中IO的几种类型。
1.流的流向
输出:把程序(内存)中的内容输出到磁盘、光盘等存储设备中。
输入:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。
2.流的操作颗粒度
字节流:以字节为单元,可操作任何数据【主要由InputStream和outPutStream作为基类】
字符流:以字符为单元,只能操作纯字符数据,比较方便【主要由Reader和Writer作为基类】
3.流的角色
节点流:可以从/向一个特定的IO设备(如磁盘,网络)读/写数据的流,也叫【低级流,主要由】
处理流:用于对一个已存在的流进行连接和封装,通过封装后的流来实现数据的读/写功能,也叫【高级流】
注意:一个IO流可以既是输入流又是字节流又或是以其他方式分类的流类型,是不冲突的。比如FileInputStream,它既是输入流又是字节流还是文件节点流。
以上就是java中IO的分类情况,根据维度不同,IO的类型也会发生变化,学习的时候可以结合图片来进行理解。
(推荐操作系统:windows10系统、java10版,thinkpad t480电脑。)