A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马上都有 中级黑马   /  2014-4-15 15:56  /  3019 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字符流最后还是调用字节流,那直接用字节流不就完了吗?干嘛还要用字符流?

3 个回复

倒序浏览

计算机处理字符数据时,会将读到的字节信号,先进行查指定的 charset (也就是我们说的编码表),然后找到对应关系后以字符信号的形式输出,而其它数据就不用转化。
这样处理起来较麻烦,于是就将编码表和字节流进行了封装,就成了字符流。
可以这样简单理解:字符流=字节流+编码表
所以理论上说,字节流也可以用来处理字符数据,只是查表这个过程要你再进行操作,比如通过流转换技术来处理下。
1字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;
2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
将文档,文本文件之类的输出到屏幕,打印机等输出终端,还是要转换成字符,才能看懂吧。
字符流在字节流的基础上自动将字节转换成平常使用的文字,便于阅读使用呀。
回复 使用道具 举报
字符流顾名思义读出来的都是字符,所以只用来读文本文件,其他非文件的二进制文件当然要用字节流来读了,最常见的就是一些流媒体文件,都是直接读取的字节啊。至于为什么提供2种流,当然是为了使用方便罗,你硬要把字符拆成字节来读,然后自己再写代码解析出字符也是可以的,反过来也一样。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马