字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的
你用字符流处理音频文件就会出现解码错误问题,因为音频文件全都是二进制数据,而你使用字符流来复制的话,它会
根据虚拟机的编码形式对该音频文件进行处理,处理过后的数据就不是原来音频文件的二进制数据了,播放器解不了
码就会打不开的 |