Java字节流演示键盘录入

1,读取一个键盘录入,并打印在控制台上。

2,不断地获取键盘录入,并打印在控制台上。

3,获取用户键盘录入的数据,并将数据变成大写显示在控制台上。如果用户输入的over,结束键盘录入。

 

键盘本身就是一个标准的输入设备。

对于java而言,对于这种输入设备都有对应的对象。

 

例:ReadKey.java

import java.io.IOException;
import java.io.InputStream;

public class ReadKey {
   public static void main(String[] args) throws IOException {
      readKey3();
   }

   public static void readKey1() throws IOException {
      InputStream in = System.in;
      int ch = in.read();// 阻塞式方法
      System.out.println(ch);
   }

   public static void readKey2() throws IOException {
      // 不断获取键盘录入的数据
      InputStream in = System.in;
      int ch = 0;
      while ((ch = in.read()) != -1) {
         System.out.println(ch);
      }
   }

   public static void readKey3() throws IOException {
      // 获取用户键盘录入的数据,并将数据变成大写显示在控制台上
      // 如果用户输入的over,结束键盘录入。
      /**
       * 思路: 1因为键盘录入只读取一个字节,要判断是否为over, 需要将读到的字符拼成字符串 2,就需要一个容器,StringBuilder
       * 3,在用户回车之前将录入的数据变成字符串判断即可。
       */
      StringBuilder sb = new StringBuilder();
      InputStream in = System.in;
      int ch = 0;
      while ((ch = in.read()) != -1) {
         if (ch == '\r')
            continue;
         if (ch == '\n') {
            String tem = sb.toString();
            if ("over".equals(tem))
                break;
            System.out.println(tem.toUpperCase());
            sb.delete(0, sb.length());
         } else {
            sb.append((char) ch);
         }
      }
   }
}