我正在使用System.console()
以读取用户密码。Java:如何从文件读取密码?
我的代码:
Console console = System.console();
if (console == null) {
throw new RuntimeException("No console is available for input");
}
System.out.print("Enter the password: ");
String password = new String(console.readPassword());
它的工作很好,当我运行它简单(从Redhat
)。
问题是,当我尝试从文本文件中读取密码:
java -jar my_jar.jar < password.txt
我得到:
没有控制台可用于输入。
我该如何解决?
这听起来像一个已知的bug /问题:System.console返回null。有关信息和可能的解决方法,请参阅此问题的答案:http://stackoverflow.com/questions/4203646/system-console-returns-null – Akunosh