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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tf996268809 中级黑马   /  2014-2-21 23:26  /  1174 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这两个总是分析有误,在具体使用什么时候才需要转换呢

评分

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

查看全部评分

4 个回复

倒序浏览
读入的时候用字节转换流
写入的时候用字符转换流
转换流主要是针对编码的不同出现的
读入的时候可以根据指定的编码表将字节转换成相应的字符  
写入的时候也可以根据指定的编码表将字符转换成相应的字节
我是这样理解的 也可能不对

评分

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

查看全部评分

回复 使用道具 举报
....... 来自手机 中级黑马 2014-2-22 08:58:31
藤椅
就是在复制文件的时候把字符流变成字节流传送到目的地。到目的地后字节流在变成字符流存储起来。 前提这个文件不是文本文件。  是文本文件直接用字符流存储

评分

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

查看全部评分

回复 使用道具 举报
字符流=字节流+编码过程
数据是以字符的形式存储的
不处理字符串的时候用字节流,如:复制图片,声音,视频资料等
处理字符串的时候用字节流更方便,因为已经帮你封装好了编码过程
如向txt里写数据的过程是:先读取字符串,通过编码转换为字节存储;
读取的时候也是先读取到字节流再利用编码表编码为字符流
但也可以使用字节流完成这一读写过程,这时候就需要利用InputStreamReader,OutputStreamWtrier进行转换了

评分

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

查看全部评分

回复 使用道具 举报
两者的关联可以做如下理解:
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
字节流----->字符流,实际上就是byte[]转化为String时
字符流----->字节流,实际上是String转化为byte[]时
最常使用的情景如下:
有一些时候系统给你提供的只有字节流,比如说System.in标准输入流。就是字节流。你想从他那里得到用户在键盘上的输入,只能是以转换流将它转换为Reader以方便自己的程序读取输入。
还有比如说Socket里的getInputStream()很明显只给你提供字节流,你要不救就直接用,要不就得给他套个InputStreamReader()用来读取。以达到需求。

希望可以帮到你

评分

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

查看全部评分

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