在JDK
6中新增了java.io.Console類別,可以讓您取得字元為基礎的主控台裝置,例如,您可以藉由System新增的console()方法取得標
準輸入輸出裝置的Console物件,並利用它來執行一些簡單的主控台文字輸入輸出,例如:
import java.io.Console;
public class ConsoleDemo { public static void main(String[] args) { System.out.print("請輸入名稱:");
Console console = System.console(); String name = console.readLine();
System.out.println("您輸入的名稱…" + name); } }
執行結果:
請輸入名稱:Justin
您輸入的名稱…Justin
|
對於主控台下的密碼輸入,Console類別還提供有一個簡單readPassword()方法,在讀取使用者於
主控台下輸入的密碼時,不會顯示使用者輸入的字元(這在過去要用其它麻煩的方式來達到),例如:
import java.io.Console;
public class ConsoleDemo { public static void main(String[] args) { System.out.print("請輸入名稱:");
Console console = System.console(); String name = console.readLine();
char[] password = console.readPassword("請輸入密碼:"); System.out.println("您輸入的名稱…" + name); System.out.println("您輸入的密碼…" + new String(password)); } }
執行結果:
請輸入名稱:Justin
請輸入密碼:
您輸入的名稱…Justin
您輸入的密碼…123456
|
Console類別也提供有reader()與writer()方法,可以傳回 Reader、
Writer 物件,以便進行其它的IO處理,例如結合Scanner一同使用:
Scanner
scanner = new Scanner(System.console().reader());
要注意的是,以javaw所執行的應用程式,沒有主控台(Console),也就取不到Console物件(例如在Eclipse中)。 |