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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bowen-xiao 中级黑马   /  2015-1-19 14:39  /  942 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /**
  2.          * 需求:接收键盘输入,将输入字符转成大写并按回车输出
  3.          * 当输入over时程序退出
  4.          * 性能提升:用InputStreamReader进行转换成字符流
  5.          * 再能过缓冲区读取
  6.          * InputStreamReader 是字节流通向字符流的桥梁
  7.          * 再通过带转换和缓冲的字符流输出,代替System.out功能
  8.          * @throws Exception
  9.          * @since JDK 1.6
  10.          */
  11.         public void inAoutTest2() throws Exception {
  12. //                先接收键盘录入
  13.                 InputStream in = (InputStream)System.in;
  14. //                创建一个转化流,把字节流转换成字符流
  15.                 InputStreamReader red = new InputStreamReader(in);
  16. //                创建字符流缓冲区,为提高读取效率
  17.                 BufferedReader bfr = new BufferedReader(red);
  18.                
  19. //                用同样的方法创建带字符流转换缓冲输出流
  20.                 OutputStream out = (OutputStream)System.out;
  21.                 OutputStreamWriter writer = new OutputStreamWriter(out);
  22.                 BufferedWriter bw = new BufferedWriter(writer);
  23.                
  24.                 String stb = null;
  25.                
  26.                 while((stb = bfr.readLine()) != null){
  27.                         if("over".equals(stb)){
  28.                                 bfr.close();
  29.                                 System.exit(0);
  30.                         }
  31. //                        System.out.println(stb.toUpperCase());
  32. //                        下面写法与上面效果一样
  33.                         bw.write(stb.toUpperCase());
  34.                         bw.newLine();
  35.                         bw.flush();
  36.                 }
  37.                
  38.                
  39.         }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马