今天尝试了一个需要在控制台运行的程序,代码如下:
package com.io;
import java.io.Console;
public class TestConsole{
public void testConsole() {
Console cons = System.console();
if(cons!=null) {
System.out.println();
String name = cons.readLine("name: ");
char[] password = cons.readPassword("password: ");
System.out.println("name: "+ name + "password: " +new String(password));
}else {
System.out.println("²»ÄÜÕÒµ½ÊäÈę̈ʵÀý");
}
}
public static void main(String[] args) {
new TestConsole().testConsole();
}
}
在java核心一这本书中的一个代码示例,书上原意是介绍util包中的Scanner,但其在JAVA IDE中是显出密码样式的输入,所以Scanner类不适用于从控制台读取密码,故java se6新推出Console专门解决这个问题,即上述代码,由于不能在IDE中运行,小白我就在dos窗口下用命令尝试,奈何忘记删除包名,导致程序无法正常运行,出现题目错误