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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黎阳05 中级黑马   /  2013-5-2 15:00  /  1341 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黎阳05 于 2013-5-2 20:27 编辑

字符流向字节流,字节流向字符流是怎么转换的,一直没怎么搞懂,干脆都用字节流不是很方便么?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
InputStreamReader 将字节输入流转换成字符输入流  
OutputStreamWriter 将字节输出流转换成字符输出流
java没有提供将字符流转换成字节流的转换流
字节流比字符流的使用范围更广,字节流转换成字符流只是为了处理文本内容更方便, 所以没必要把字符流转换成字节流

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
1,第一个问题,为什么有字符流?
字符流里面封装了字符集,可以把读取的字节自动查表转化为字符,方便字符的读写。
2,第二个问题,字节流向字符流怎么转换的?
以读取为例:字符流的底层是字节流,字符流把字节流读出的字节,通过默认或者设置的字符集,通过查表再返回,而不是字节流直接返回。
希望你懂了

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
楼上说的很对。
我补充一些知识点:
字节流 为InputStream OutputStream
字符流 为Reader  Writer

举一个例子:
例如:读取文件 从字节流输入到字符流输入
定义一个字节流:
Java代码
FileInputStream fileInputStream = new FileInputStream("d:/text.txt");  // 定义一个指向D:/TEXT.TXT 的字节流   
  
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);   
//字节流转换成InputStreamReader   
  
BufferedReader bufferedReader = new BufferedReader(inputSteamReader);   
//InputStreamReader 转换成带缓存的bufferedReader  

可以把读出来的内容赋值给字符

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

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