我们使用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.