用java.io.Console来与字符控制台交互
JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备.
你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳.(类似System.in和System.out)
但我们不总是能得到可用的Console, 一个JVM是否有可用的Console依赖于底层平台和JVM如何被调用.
如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就可以得到一个可用的Console实例。
Console类还有个特色就是,专门对密码等安全字符,进行了处理。专门提供 readPassword()方法.
package test; import java.io.Console; public class TestConsole { /** * @param args */ public static void main(String[] args) { Console console = System.console(); if( console != null ) { String user = new String( console.readLine( "Enter User:", new Object[ 0 ] ) ); String pwd = new String( console.readPassword( "Enter Password:", new Object[ 0 ] )); console.printf( "User name is:%s", new Object[]{user} ); console.printf( "Password is:%s", new Object[]{pwd} ); } else { System.out.println( "No Console!" ); } } }
作者:Ken Wu 原文链接:http://kenwublog.com/interact-with-terminal-using-java-io-console
阿哦
搞毛啊, 阿花.