使用Java SE 6新增类Console的小例子

使用Java SE 6新增类Console的小例子

 

        Java SE 6新增类Console提供读取密码的功能,类似Mac OS Xterminal下输入sudo要求输入密码的方式。

       JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备。你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳。但我们不总是能得到可用的Console,一个JVM是否有可用的Console依赖于底层平台和JVM如何被调用。如果JVM是在交互式命令行(比如Windowscmd)中启动的,并且输入输出没有重定向到另外的地方,那么就可以得到一个可用的Console实例。”

 

举个例子ConsoleDemo.java

import java.io.Console; public class ConsoleDemo { public static void main(String[] args) { Console console = System.console(); if (console != null) { Console cons = System.console(); String username = cons.readLine("User name: "); char[] passwd = cons.readPassword("Password: "); System.out.println("your name is: " + username); System.out.println("your password is: " + new String(passwd)); } else { System.out.println("Console is unavailable!"); } } }

运行效果:

Eclipse下运行是不能使用Console类。

 

参考资料:http://www.mldn.cn/articleview/2007-1-10/article_view_558.htm

                       http://www.iteedu.com/plang/java/javadiary/8.php

你可能感兴趣的:(使用Java SE 6新增类Console的小例子)