字符流相比字节流有什么优点?

相对于一个文本文件来说:

字节流是读取字节的,并且使用相应的编码转换即可得到原来的内容。

字符流也是读取字节的,只是做了一层转换,比如原本是utf-8编码保存的字节,会转为unicode码。然后再使用各种不同的编码去转换。

1.后者说到了,会把本地编码转换为unicode,这是怎么做到的,你本地存的可能是gbk,utf-8...怎么转为unicode?????
2.后者对比与前者有什么优点呢?我觉得“针对unicode可以转换为各种不同的编码”这一条确实比较灵活,你得到unicode码之后想转什么就转什么。还有别的吗?

阅读 3.8k
1 个回答

Stream是针对字节的,Writer/Reader是针对字符的
其实Writer/Reader的本质都是InputStreamReader或者OutputStreamWriter
其实就是包装了一层,更方便使用,有的多一些比如readLine这种功能
不指定编码的情况下会用默认编码,比如系统默认UTF8,不指定编码直接读GBK的文件是会乱码的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题