在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中)。 |