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,双击执行。输入账号密码-回车

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

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

 


发布了34 篇原创文章 · 获赞 20 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/ChengXuYuanXingCheng/article/details/71430068