简单讲讲IO流的分类到底有哪些分类
根据处理数据类型的不同分为:字节流和字符流
根据数据流向的不同分为:输入流和输出流
字节流和字符流:
字符流的由来:因为数据编码的不同,而有了对字符进行高效操作的流对象。本质上其实就是基于字节流读取时,去查了指定的码表。
字符流和字节流的区别:
(1)读写单位不同:字节流 以字节(8 Bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
(2)处理对象不同:字节流能处理所有类型的数据(如图片,avi等),而字符流只能处理字符类型的数据。
(3)字节流在操作的时候本身是不会用到缓冲区的,是文件本身直接操作的;而字符流在操作的时候是会用到缓冲区的,通过缓冲区来操作文件。
结论:优先选用字节流,首先,因为硬盘上的所有文件都是以字节的形式进行传输或保存的,包括图片等内容,但字符只是在内存中才会形成的,所以,在开发上午过程中,字节流使用广泛。
输入流和输出流:
对输入流只能进行读操作,对输出流只能进行写操作。
程序中需要根据待传输数据的不同特性而使用不同的流。