黑马程序员技术交流社区

标题: 有了字节流了为什么还要字符流 [打印本页]

作者: 马上都有    时间: 2014-4-15 15:56
标题: 有了字节流了为什么还要字符流
字符流最后还是调用字节流,那直接用字节流不就完了吗?干嘛还要用字符流?

作者: 宋超2356    时间: 2014-4-15 16:03

计算机处理字符数据时,会将读到的字节信号,先进行查指定的 charset (也就是我们说的编码表),然后找到对应关系后以字符信号的形式输出,而其它数据就不用转化。
这样处理起来较麻烦,于是就将编码表和字节流进行了封装,就成了字符流。
可以这样简单理解:字符流=字节流+编码表
所以理论上说,字节流也可以用来处理字符数据,只是查表这个过程要你再进行操作,比如通过流转换技术来处理下。
1字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;
2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。
作者: 呆呆沙师妹    时间: 2014-4-15 16:04
将文档,文本文件之类的输出到屏幕,打印机等输出终端,还是要转换成字符,才能看懂吧。
字符流在字节流的基础上自动将字节转换成平常使用的文字,便于阅读使用呀。
作者: 491138002    时间: 2014-4-15 16:30
字符流顾名思义读出来的都是字符,所以只用来读文本文件,其他非文件的二进制文件当然要用字节流来读了,最常见的就是一些流媒体文件,都是直接读取的字节啊。至于为什么提供2种流,当然是为了使用方便罗,你硬要把字符拆成字节来读,然后自己再写代码解析出字符也是可以的,反过来也一样。




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