java基础——既然有了字节流,为什么还要有字符流呢?

不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么I/O流操作要分字节流操作和字符流操作呢?

字符流是由JVM将字节转换得到的,所以这个过程还是非常耗时的,同样假如我们不知道编码方式就很容易出现乱码的问题,所以I/O流就干净利索的提供了一个直接操作字符的接口,方便我们平时对字符进行流操作。当然图片和音频这些文件我们还是用字节流比较好。涉及到字符的我们就使用字符流比较好。