字节流与字符流的区别?

字节流和字符流区别非常简单,它们的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同:字节流操作的数据单元是8位的字节,而字符流操作的数据单元是16位的字符。

字节流主要由InputStreamOutputStream作为基类,而字符流则主要由ReaderWriter作为基类。

字节流直接是基于字节进行输入、输出的,因此它的适用性更广。字符流则在处理文本内容的的输入、输出时更加方便——不会出现读取半个字符的情形。

Java提供了将字节流转换为字符串的InputStreamReaderOutputStreamWriter,但没有提供将字符流转化为字节流的方法。因为:字节流比字符流的使用范围更广,但字符流比字节流操作方便。如果有一个流已经是字符流了,也就是说是一个用起来更方便的流,为什么要转换成字节流呢?反之,如果现在有一个字节流,但我们知道这个字节流的内容都是文本内容,那么把它转换成字符流来处理就会更方便一些,所以Java只提供了将字节流转换字符流的转换流,没有提供将字符流转换成字节流的转换流。

posted @ 2020-12-16 06:58  咔啡  阅读(1058)  评论(0编辑  收藏  举报