- /**
- * 需求:接收键盘输入,将输入字符转成大写并按回车输出
- * 当输入over时程序退出
- * 性能提升:用InputStreamReader进行转换成字符流
- * 再能过缓冲区读取
- * InputStreamReader 是字节流通向字符流的桥梁
- * 再通过带转换和缓冲的字符流输出,代替System.out功能
- * @throws Exception
- * @since JDK 1.6
- */
- public void inAoutTest2() throws Exception {
- // 先接收键盘录入
- InputStream in = (InputStream)System.in;
- // 创建一个转化流,把字节流转换成字符流
- InputStreamReader red = new InputStreamReader(in);
- // 创建字符流缓冲区,为提高读取效率
- BufferedReader bfr = new BufferedReader(red);
-
- // 用同样的方法创建带字符流转换缓冲输出流
- OutputStream out = (OutputStream)System.out;
- OutputStreamWriter writer = new OutputStreamWriter(out);
- BufferedWriter bw = new BufferedWriter(writer);
-
- String stb = null;
-
- while((stb = bfr.readLine()) != null){
- if("over".equals(stb)){
- bfr.close();
- System.exit(0);
- }
- // System.out.println(stb.toUpperCase());
- // 下面写法与上面效果一样
- bw.write(stb.toUpperCase());
- bw.newLine();
- bw.flush();
- }
-
-
- }
复制代码 |
|