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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© DOOR 中级黑马   /  2013-12-26 03:00  /  1311 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 DOOR 于 2013-12-26 13:17 编辑

多谢两位

3 个回复

倒序浏览
字节流就是读写文件的时候,用一个个byte的形式读写,相当于是用最原始的方式在操作文件。
字符流就是在字节流的基础上装饰了一下,用byte读完文件后转换成了相应的我们能看得懂的字符。

所以字节流读写文件更加快,适合用来复制文件之类的大数据的操作。
而字节流慢一些,但操作文本类文件更方便一些,省的我们去转换了。

这么说够通俗不?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
内存中的表现不管他,知道一次读多少就好啦!
字符:二个字节
字节:一个字节
例:你现在要读一个汉字(以二个字节来存,既:一个字符)的“汉”。
        1.用字符流读:一次读二个字节,那么你就可以完全读取到它,并存到你想存的地方。
        2.用字节流读:一次读一个字节,那么你要读二次你才完全得读取到了这个汉字。不然就读取到了半个(一个汉字二个字节中的一个字节),那你说这半个(一个字节)是什么东西?我想这并不是你想要的吧。

还有一点挺有用的,就是在字符流中你可以一次读取一行(readLine()),这我想对于我们来说是一个不错的方法吧。

希望可以帮助到楼主。。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
还是与编码有关。最开始只有字节流,老美那帮哥们儿只有26个字母加上一些特殊字符,用一个字节就可以搞定,但是后来计算机的发展就需要显示更多的文字——比如中文。那么之前的编码表(ASCII)就不适合了,于是就出现了各种各样的字符集比如GB2312等(由于呢,之前就存在编码表,为了不冲突一个汉字就采用2个字节来表示),所以后来才出现了字符流。但是不管字符流怎么变,最终还是要转换成字节流——因为计算机指识别二进制。

简单的说,字符流与字节流最大的区别是在编码上。因此,只要你操作与编码无关的文件就用字节流(比如多媒体图片、音乐、视频、英文字母、数字等);而涉及到非英文的就需要用字符流了。

具体编码知识,请看毕向东老师第21天的视频,讲的比任何人都清楚!

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马