Console
类的目的是使Java程序和控制台之间的交互更容易。Console
类是java.io
包中的一个实用程序类,用于访问系统控制台。
控制台不能保证在所有机器上的Java程序中可访问。 例如,如果Java程序作为服务运行,则不会有控制台与JVM相关联。
通过使用System
类的静态console()
方法获得控制台类的实例,如下所示:
1
2
3
4
|
Console console = System.console();
if
(console !=
null
) {
console.printf(
"Console is available."
)
}
|
Console
类有一个printf()
方法,用于在控制台上显示格式化的字符串。还在PrintStream
类中有一个printf()
方法来写入格式化的数据。
以下代码说明如何使用控制台类。
程序提示用户输入用户名和密码。 如果用户输入的密码为:password
,程序将打印一条消息。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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"
);
}
}
}
|
上面的代码生成以下结果。