Java控制檯

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控制檯