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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 724681149 黑马帝   /  2011-10-15 19:22  /  3944 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字节流与字符流的区别?

评分

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

查看全部评分

7 个回复

倒序浏览
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的。
还有顺便说一下,把你的名字改成真实姓名吧。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
敖东 黑马帝 2011-10-15 19:58:01
藤椅
字节流是以字节作为流中元素的基本类型,每次读或者写的最小单位是一个字节。字节输入流类是InputStream类以及子类,输出流是OutputStream以及子类

字符流是以字符作为流中元素的基本类型,每次读写的最小单位是一个字符,即2字节的Unicode码。字符输入流为Reader类以及其子类,输出流类是Writer以及其子类。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
罗亚东 发表于 2011-10-15 19:43
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都 ...

用户名在注册之后就不能更改了,不知道为什么!我的个人设置里面无法更改。

评分

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

查看全部评分

回复 使用道具 举报
流的分类:
输入流:只能从中读取数据,主要以InputStream和Reader作为基类。
输出流:只能向其写数据,主要以OutputStream和Writer作为基类。
字节流和字符流操作方式几乎一样,区别只是数据单元有区别而已,字节流操作的单元是字节,字符流操作的单元是字符。
出现字符流主要是为了方便的操作文本数据

评分

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

查看全部评分

回复 使用道具 举报
  
1
推荐
流是一个有序的字节序列,可作为一个输入源,也可作为一个输出的目的地。
字节流以字节为单位输入输出,字节流类名含有stream,字符流以字符为单位输入输出,字节流
类名含有reader或writer.为了通用性,java中字符是16位的unicode字符,所以8位的字节流必
须和16位的字符流进行转换。字节流到字符流的转换使用InputStreamReader类:
public InputStreamReader(InputStream in);
public InputStreamReader(InputStream in,String encoding);
public OuputStreamWriter(OnputStream in);
public OnputStreamWriter(OnputStream in,String encoding);
Reader和Writer类允许用户在程序中无缝的支持国际字符集,如果要读区的文件是别国语言,
要使用字符流。
JavaI/O字节流与字符流就是java 实现输入/输出 数据 字节流是一个字节一个字节的输入/输出 数据 (两个字节组成一个汉字)所以在用字节流读一串汉字时会出现乱码问题,
同样字符流是一个字符一个字符流(一个字符=两个字节)的输入/输出 数据 用字符流读一串汉字可以解决乱码问题.

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
咖啡 黑马帝 2011-10-20 23:11:25
7#
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的

在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
回复 使用道具 举报
http://scthdeskin6.blog.163.com/
http://shirant06t.blog.163.com/
http://wangyangmm71.blog.163.com/
http://blog.163.com/bugarinp_1963s0/
http://wenlituiu6u6.blog.163.com/
http://kebaill.blog.163.com/
http://zhonggeww48.blog.163.com/
http://jianxiannn.blog.163.com/
http://blog.163.com/stec_vfgwlc34/
http://niexuyy.blog.163.com/
http://qudouuu8.blog.163.com
http://zhuanhayingkk.blog.163.com
http://liaoquemm.blog.163.com
http://haikuiyuu97u.blog.163.com
http://uajlzhaogua1.blog.163.com
http://zhangyouxx82.blog.163.com
http://guaimian6bc942.blog.163.com/
http://jinqiaoi0i.blog.163.com/
http://zaobahh22.blog.163.com/
http://lubaiyuanpp.blog.163.com/
http://cottazfsp8.blog.163.com/
http://zhihaiyinpp74.blog.163.com/
http://youbaig16g16.blog.163.com/
http://blog.163.com/villalonl_201788/
http://maiwangxx7.blog.163.com/
http://blog.163.com/medley_snq18/
http://rutianss9.blog.163.com/
http://zhuoyongyupp.blog.163.com/
http://shixiaof81f81.blog.163.com/
http://wuyurr2.blog.163.com/
http://xingyueruu01.blog.163.com/
http://huanchutt.blog.163.com/
http://kuibunianll.blog.163.com/
http://langlinais483812.blog.163.com/
http://wanduandengk5k.blog.163.com/
http://caoshenxiaoii.blog.163.com/
http://fliuguoizbd60.blog.163.com/
http://pishudajj7.blog.163.com/
http://blog.163.com/killion1_199386/
http://zoutiandanhh01.blog.163.com/
http://nechonglianoo.blog.163.com/
http://huangfenchouxx.blog.163.com/
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马