Java中Console类的用法

由于Scanner类输入是可见的,故Scanner类不适用于从控制台读取密码。从Java se 6开始加入了Console类来解决此问题。

要想读取账号密码,可以参考以下代码:

public class Test_Console {

        publicstatic void main(String[] args) {

               Consolec = System.console();

                       Stringusername = c.readLine("User name:");

                       c.printf("user:"+username+"\n");

                char []passwd =c.readPassword("Password:");

                c.printf(String.valueOf(passwd));

        }

}


但是怎么运行这段代码呢,直接运行?

Exception in thread "main" java.lang.NullPointerException
	at test_char.Test_Console.main(Test_Console.java:9)

 顾名思义,这个类是从控制台获取账号密码的,所以打开dos命令窗,编译并执行相应代码。

反复找.Java文件太麻烦?

在Test_Console.java相同目录下,右键-记事本,将以下内容写在记事本里。

javac Test_Console.java

java Test_Console

pause

保存,文件名后缀为.bat,双击执行。输入账号密码-回车

Java中Console类的用法_第1张图片

就可以打印出账号密码啦,只是密码输入时是不可见的。

同时要注意,在主类里面不能有package,否则会出现主类无法加载的情况。

 

 


你可能感兴趣的:(java之路)