Java 字节流,字符流,输入流和输出流概念介绍

Java 字节流,字符流,输入流和输出流概念介绍

IO流的分类

按照数据类型:字符流和字节流;按照数据流向:输入流和输出流

字节流和字符流

字符流的由来:因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。字节流和字符流的区别:

  1. 读写单位不同 ,字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节;
  2. 处理对象不同 ,字节流能处理所有类型的数据(如图片,视频等),而字符流只能处理字符类型的数据;
  3. 字节流在操作的时候本身是不会用的缓冲区的,是文件本身的直接操作,而字符流在操作的时候是会用到缓冲区的,是通过缓冲区来操作文件
  4. 总结:优先使用字节流,因为硬盘上的所有文件都是以字节的形式进行传输或者保存的。但是字符只有在内存中才会形成,所有在开发中,字节流使用广泛

输入流和输出流

输入流只能进行读操作,输出流只能进行写操作。

猜你喜欢

转载自blog.csdn.net/tiberroot/article/details/85079885
今日推荐