Java从控制台读入数据的几种方法 (三)

2014-11-24 03:24:33 · 作者: · 浏览: 1
nsole == null) {
throw new IllegalStateException("Console is not available!");
}
return console.readLine(prompt);
}
}

Console类还有个特色就是,专门对密码(输入无回显)等安全字符,进行了处理。专门提供 readPassword()方法,具体应用见如下代码:
public class TestConsole5 { public static void main(String[] args) { Console console = System.console(); if (console == null) { throw new IllegalStateException("Console is not available!"); } while(true){ String username = console.readLine("Username: "); char[] password = console.readPassword("Password: "); if (username.equals("Chris") && String.valueOf(password).equals("GoHead")) { console.printf("Welcome to Java Application %1$s.\n", username); // 使用后应立即将数组清空,以减少其在内存中占用的时间,增强安全性 password = null; System.exit(-1); } else { console.printf("Invalid username or password.\n"); } } } }

摘自 qiaoning13256的专栏