黑马程序员技术交流社区
标题:
字符流字节流
[打印本页]
作者:
hadexs
时间:
2013-5-29 11:18
标题:
字符流字节流
字符流与字节流的区别?
作者:
梦想蓝色天空
时间:
2013-5-29 11:23
主要区别在于,字节流通过流操作非文字类的操作,如多媒体,Mp3等二进制文件,字符流用于操作如果word.excel.txt含有字符的操作。
作者:
w270307032
时间:
2013-5-29 12:28
本帖最后由 w270307032 于 2013-5-29 12:31 编辑
所有文件(包括字符数据)的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.
按照以上原理,只要有字节流就可以处理各种文件了,为什么还要有字符流呢?
计算机处理字符数据时,会将读到的字节信号,先进行查指定的 charset (也就是我们说的编码表),然后找到对应关系后以字符信号的形式输出,而其它数据就不用转化。
这样处理起来较麻烦,于是就将编码表和字节流进行了封装,就成了字节流。
可以这样简单理解:字符流=字节流+编码表
所以理论上说,字节流也可以用来处理字符数据,只是查表这个过程要你再进行操作,比如通过流转换技术来处理下。1字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;
2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。
作者:
FantasticPie
时间:
2013-5-29 14:22
在毕老师讲课的时候做了一个最简单的分辨方法:是InputStream和OutputStream类的直接子类的都是字节流,是Reader和Writer类的子类的都是字符流。根本上讲,顾名思义,前者每次读取的是一个字节,后者每次读取的是一个字符。建议把毕老师的java基础视频好好学习一下。下载地址:http://edu.csdn.net/main/video.shtml
作者:
殇_心。
时间:
2013-5-29 16:31
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2