Java如何使用Console类读取用户输入?
我们使用java.util.Scanner文件类来读取用户输入。在本例中,我们使用Java1.6中引入的另一个新类java.io.Console类。
Console类提供类似的方法readLine()和readPassword()。readPassword()方法可用于读取用户密码。使用这种方法,用户的输入将不会显示在控制台中。密码将以数组形式返回char。
package org.nhooo.example.io; import java.io.Console; public class ConsoleDemo { public static void main(String[] args) { // 获取控制台对象,如果不可用,console可以为null。 Console console = System.console(); if (console == null) { System.out.println("Console is not available."); System.exit(1); } // 从控制台读取用户名 String username = console.readLine("Username: "); // 读取密码,密码将不会回显 // 控制台屏幕,并以字符数组形式返回。 char[] password = console.readPassword("Password: "); if (username.equals("admin") && String.valueOf(password).equals("secret")) { console.printf("Welcome to Java Application %1$s.%n", username); } else { console.printf("Invalid username or password.%n"); } } }
上面的代码片段的结果是:
Username: admin Password: Welcome to Java Application admin.