相对于一个文本文件来说:
字节流是读取字节的,并且使用相应的编码转换即可得到原来的内容。
字符流也是读取字节的,只是做了一层转换,比如原本是utf-8编码保存的字节,会转为unicode码。然后再使用各种不同的编码去转换。
1.后者说到了,会把本地编码转换为unicode,这是怎么做到的,你本地存的可能是gbk,utf-8...怎么转为unicode?????
2.后者对比与前者有什么优点呢?我觉得“针对unicode可以转换为各种不同的编码”这一条确实比较灵活,你得到unicode码之后想转什么就转什么。还有别的吗?
Stream是针对字节的,Writer/Reader是针对字符的
其实
Writer/Reader
的本质都是InputStreamReader
或者OutputStreamWriter
其实就是包装了一层,更方便使用,有的多一些比如
readLine
这种功能不指定编码的情况下会用默认编码,比如系统默认UTF8,不指定编码直接读GBK的文件是会乱码的