黑马程序员技术交流社区

标题: 【求助】IO流的输出问题!! [打印本页]

作者: 林豪    时间: 2012-5-7 23:51
标题: 【求助】IO流的输出问题!!
在学到IO流的时候,讲到键盘录入,为什么 writer也能直接打印数据,他不是写入数据到文件中吗?
  BufferedReader bufr= new BufferedReader(new InputStreamReader(System.in));
  BufferedWriter bufw =new BufferedWriter(new OutputStreamWriter(System.out));
   String line = null;
   while((line=bufr.readLine())!=null)
   {
        if("over".equals(line)
            break;
       bufw.writer(line.toUpperCase());
       bufw.newLine();
       bufw.flush();
   }
作者: 周素强    时间: 2012-5-8 00:26
本帖最后由 周素强 于 2012-5-8 00:31 编辑

读取转换流:
InputStreamReader流是Reader下的一个子类,是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。
例如:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

写入转换流:
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
为了获得最高效率,可考虑将 OutputStreamWriter 包装到 BufferedWriter 中,以避免频繁调用转换器。
例如:
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));


另外说一下你所说的writer要写入哪是要看目的地的,OutputStreamWriter(System.out)这个输出流里面的目的地就是控制台,所以writer就会把数据写到控制台上。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2