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" ); } } } |
上面的代码生成以下结果。