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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高双武 黑马帝   /  2011-11-11 17:49  /  2220 人查看  /  3 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

字符流和字节流到底有什么区别,看完视频有点晕  

3 个回复

倒序浏览
字节流和字符流的区别:
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串(比如对图片文件的操作就只能用字节流)
一个字符可以是1个字节,也可以是2个或多个字节  一个字节就是8个位,也就是对同一数据源的操作用字符流可能效率更高
字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以(使用用字节流来传输字符文件会产生乱码)

回复 使用道具 举报
字符流顾名思义一次读取或者写入的都是一个字符即两个字节。主要应用在读取或者写入文本文件,写入和读取都比较快,但是却不能读取其他的媒体文件之类的,因为这些文件并不是写成文本形式存储的,不可以按照字符来操作。
字节流顾名思义是读取和写入时按以字节为单位来进行。这样就可以操作除文本文件意外的文件了。譬如复制一个MP3文件。或者读取一个图片文件,而字符流就不可以。
回复 使用道具 举报
字节流:以字节(byte)为单位去读取数据,可用于读写二进制文件以及任何类型文件,但实际中很多的数据室文本,所以又提出了字符流的概念,字符流是用来读取文本文件,不能操纵二进制文件,他是按照虚拟机的encode来处理的,也就是要进行字符集的转换,这两个之间通过InputStreamReader 和OutputStreamReader来关联,实际上是通过byte【】和String来关联。
                             字节流                        字符流
输入流:                 InputStream                Reader
输出流:                 OutputStream              Writer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马