- /**
- * 需求:接收键盘输入,将输入字符转成大写并按回车输出
- * 当输入over时程序退出
- * @throws Exception
- * @since JDK 1.6
- */
- public void sysInTest() throws Exception {
- InputStream fis = (InputStream)System.in;
- StringBuilder stb = new StringBuilder();
- while(true){
- int ch = fis.read();
- if('\r' == ch)
- continue;
- if('\n' == ch){
- String s = stb.toString();
- if(s.equals("over")){
- break;
- }else{
- System.out.println(s.toUpperCase());
- // 清空数据
- stb.delete(0, stb.length());
- }
- }else{
- stb.append((char)ch);
- }
- }
-
- }
复制代码- /**
- * 需求:接收键盘输入,将输入字符转成大写并按回车输出
- * 当输入over时程序退出
- * 性能提升:用InputStreamReader进行转换成字符流
- * 再能过缓冲区读取
- * InputStreamReader 是字节流通向字符流的桥梁
- * @throws Exception
- * @since JDK 1.6
- */
- public void sysInTest2() throws Exception {
- // 先接收键盘录入
- InputStream in = (InputStream)System.in;
- // 创建一个转化流,把字节流转换成字符流
- InputStreamReader red = new InputStreamReader(in);
- // 创建字符流缓冲区,为提高读取效率
- BufferedReader bfr = new BufferedReader(red);
-
- String stb = null;
-
- while((stb = bfr.readLine()) != null){
- if("over".equals(stb)){
- bfr.close();
- System.exit(0);
- }
- System.out.println(stb.toUpperCase());
- }
-
-
- }
复制代码
|