【发布时间】:2017-01-13 19:45:19
【问题描述】:
我正在使用System.console() 来读取用户密码。
我的代码:
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
我明白了:
没有可用于输入的控制台。
我该如何解决?
【问题讨论】:
-
这听起来像是一个已知的错误/问题:System.console 返回 null。有关信息和可能的解决方法,请参阅此问题的答案:stackoverflow.com/questions/4203646/system-console-returns-null