黑马程序员技术交流社区
标题:
【黑马云青年 胡浩】关于字节流OutputStreamWriter
[打印本页]
作者:
胡浩
时间:
2013-5-24 23:13
标题:
【黑马云青年 胡浩】关于字节流OutputStreamWriter
本帖最后由 胡浩 于 2013-5-25 11:48 编辑
package 读取键盘录入;
import java.io.*;
public class ReadKey2 {
/**
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
String line=null;
while((line=br.readLine())!=null){
if("over".equals(line)){
break;
}
bw.write(line);
bw.flush();
}
}
}
复制代码
根据毕老师的说法,write()方法将字符数据写入到缓冲区中,目的地是outputStreamWriter对象,然后通过编码,将字符数据转换为字节,然后到达控制台
,为什么控制台中输出的不是字节数据,而是字符数据呢?
作者:
simonqian
时间:
2013-5-25 08:30
兄弟你理解错了,outputStreamWriter是字符转换成字节的对象,也就是转换流,而目的地是控制台,因为 BufferedReader 是接收的字符,而BufferedWriter接收的也是字符,所以你最后输出到控制台上的数据,就是调用BufferedWriter的write方法,它输出的就是字符!
作者:
jinhu358
时间:
2013-5-25 11:01
你这里的bw.write(line); 用的就是 BufferedWriter 的功能, 而Reader,Writer主要就是用来操作字符的
作者:
胡浩
时间:
2013-5-25 11:49
simonqian 发表于 2013-5-25 08:30
兄弟你理解错了,outputStreamWriter是字符转换成字节的对象,也就是转换流,而目的地是控制台,因为 Buffe ...
谢谢你的提醒,我懂了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2