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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jagon 中级黑马   /  2014-3-14 21:27  /  998 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

OutputStreamWriter和InputStreamReader到底是怎么一回事?
(1)new OutputStreamWriter()传入的应该是字节输出流(将字符流变为字节流)
(2)new InputStreamReader()传入的应该是字符输入流(将字节流变为字符流)

评分

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

查看全部评分

3 个回复

倒序浏览
OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流输出对象。
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象。
如果以文件操作为例,则内存中的字符数据需要通过OutputStreamWriter变为字节流才能保存在文件中,读取时需要将读入的字节流通过InputStreamReader变为字符流。
不管如何操作,最终全部是以字节的形式保存在文件中。

评分

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

查看全部评分

回复 使用道具 举报
InputStreamReader 是字节流通向字符流的桥梁,BufferedReader in
   = new BufferedReader(new InputStreamReader(System.in));源是:字节,把字节转换成字符来读,主要是BufferedReader有一个readLine()的方法效率很高。

OutputStreamWriter 是字符流通向字节流的桥梁 Writer out
   = new BufferedWriter(new OutputStreamWriter(System.out));;源是:字符,把字符转换成字节来输出,
BufferedWriter 有一个跨平台的newLine()换行符。非常好。

评分

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

查看全部评分

回复 使用道具 举报
InputStreamReader是将字符流装换成字节流,OutputStreamWriter是字符流转换成字节流,一般常见的就是从键盘输入数据用InputStreamReader转换成字符流,方便数据操作,也是为了提高效率,BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));。同样字符流转换成字节流标准写法:BufferedWriter bufr=new BufferedWriter(new OutputStreamWriter(System.out));

评分

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

查看全部评分

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