字节流和字符流的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字节流和字符流的区别相关的知识,希望对你有一定的参考价值。

  要把一片二进制数据逐一输出到某个设备中,或者从某个设备中逐一读取一片二进制数据,不管输入或者输出设备是什么,我们要用统一的方式来完成这些操作,用一种抽象的方式进行描述,这个抽象描述方式起名为IO流,对应的抽象类就是OutputStream和InputStream,不同的实现类就代表着不同的输出和输入设备,他们都是针对字节流进行操作的。

  在实际应用中,经常完全是字符的一段文本输出或读取进来,用字节流可以吗?计算机中的一切最终都是二进制字节形式存在。对于“中国”这些字符,首先需要得到对于的字节,然后将字节写入到输出流中。读取也一样,需要读取到的是字节,然后将这些字节转换成字符并显示出来。由于这一的需求很广泛,人们专门提供了字符流的包装类。

  底层设备永远只接收字节数据,有时候要写字符串到底层设备,需要将字符串转换成字节再进行写入。字符流是字节流的包装,字符流则可以直接接受字符串,它内部将字符串转换成字节。

  字符想字节转换时,要注意编码的问题,因为字符串转换成字节数组,其实是转换成该字符的某种编码的字节形式,读取也是一样的道理。

以上是关于字节流和字符流的区别的主要内容,如果未能解决你的问题,请参考以下文章

javaIO(05)字节流和字符流的区别

java 字节流与字符流的区别

java 字节流与字符流的区别

字节流与字符流的区别详解

字节流与字符流的区别详解

Java字节流与字符流的区别