控制台输入小节

2014-11-19

BufferedReader

最基础的方法,从System.in输入流中获取数据

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    try {
        System.out.println(br.readLine());
    } catch (IOException e) {
        e.printStackTrace();
    }

Scanner

    Scanner sc = new Scanner(System.in);
    System.out.println(sc.nextLine());

Console

java6新增

    Console console = System.console();
    if(console != null){
        System.out.println(console.readLine());
    }

说明

  1. Console主要是为了方便程序与用户交互,但是有一个限制就是需要使用系统自带的控制台来运行程序,如果在IDE中使用的话,就有很大的可能获取不到Console。

  2. Console的另一个特点就是可以隐藏密码:

        Console console = System.console();
        if(console != null){
            System.out.println(console.readPassword());
        }
这样就看不到用户输入的密码了,但是没有办法将用户的输入显示成“*”或者别的字符
  1. Scanner方便将用户的输入转换成对应的java类型,另外,Scanner的输入源不限于System.in,还可以是其他的输入源。


文档信息 by XiaoPingYuan

版权声明:自由转载-非商用-非衍生-保持署名。发表日期:2014-11-19 by XiaoPingYuan(https://xesam.github.io/)