黑马程序员技术交流社区

标题: IO流的字符与字节流 [打印本页]

作者: yan5108652    时间: 2013-7-14 18:17
标题: IO流的字符与字节流
本帖最后由 杨兴庭 于 2013-7-15 17:40 编辑

曾经看过这样一句话:字符流其实就是字节流去查了指定的编码集然后返回结果,请问这句话对么?


作者: wedge    时间: 2013-7-14 18:25
我感觉可信,字符流给我的感觉最终还是调用了字节流去实现相关的功能。
作者: 云游天下    时间: 2013-7-14 21:57
我是这样理解的:字符流其实就是因为文件编码的不同,而有了对字符进行高效操作的字符流对象。
它的原理:其实就是基于字节流读取字节时,去查了指定的码表。所以这就话应该是对的!
作者: 诸隆隆    时间: 2013-7-14 22:03
相当支持楼上所说,当初我看字符流的时候就觉得其实就是利用字节流来进行实现。
作者: 花心々小土豆    时间: 2013-7-15 09:15
是对的,字符在硬盘,内存中存放的时候都是以字节为单位存放的。所以不管计算机它干了什么,底层处理的都是字节流……
作者: yan5108652    时间: 2013-7-15 15:06
谢谢各位了,请版主改为已解决,辛苦版主了
作者: 280270738    时间: 2013-7-15 16:30
感觉这句话是对的,老毕说过字符流的底层用的就是字节流
作者: sunalong    时间: 2013-7-15 17:27
这话涉及到了转换流:InputStreamReader

转换流特有功能:转换流可以将字节转成字符,原因在于,将获取到的字节通过查编码表获取到指定对应字符。
转换流的最强功能就是基于 字节流 + 编码表 。没有转换,没有字符流。
发现转换流有一个子类就是操作文件的字符流对象:
InputStreamReader
|--FileReader
OutputStreamWriter
|--FileWrier
想要操作文本文件,必须要进行编码转换,而编码转换动作转换流都完成了。
所以操作文件的流对象只要继承自转换流就可以读取一个字符了。
这估计是字符与字节流的内在的关联吧,






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2