Console类的目的是使Java程序和控制台之间的交互更容易。Console类是java.io包中的一个实用程序类,用于访问系统控制台。

控制台不能保证在所有机器上的Java程序中可访问。 例如,如果Java程序作为服务运行,则不会有控制台与JVM相关联。

通过使用System类的静态console()方法获得控制台类的实例,如下所示:

Console console = System.console();
if (console != null) {
console.printf("Console is available.")
}

Console类有一个printf()方法,用于在控制台上显示格式化的字符串。还在PrintStream类中有一个printf()方法来写入格式化的数据。

以下代码说明如何使用控制台类。

程序提示用户输入用户名和密码。 如果用户输入的密码为:password,程序将打印一条消息。

import java.io.Console;
public class Main {
public static void main(String[] args) {
Console console = System.console();
if (console != null) {
console.printf("Console is available.%n");
} else {
System.out.println("Console is not available.%n");
return; // A console is not available
}
String userName = console.readLine("User Name: ");
char[] passChars = console.readPassword("Password: ");
String passString = new String(passChars);
if (passString.equals("password")) {
console.printf("Hello %s", userName);
} else {
console.printf("Invalid password");
}
}
}

上面的代码生成以下结果。

java 本地 交互图 java控制台交互_java 控制台