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");
    }
  }
}

上面的程式碼生成以下結果。