- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用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
我明白了:
No console is available for input.
如何解决?
最佳答案
此行为是预期的。引用自java.io.Console
:
Whether a virtual machine has a console is dependent upon theunderlying platform and also upon the manner in which the virtualmachine is invoked. If the virtual machine is started from aninteractive command line without redirecting the standard input andoutput streams then its console will exist and will typically beconnected to the keyboard and display from which the virtual machinewas launched.
对于不使用Console
的可能解决方案,您可以阅读此答案 Trying to read from the console in Java .
如果控制台存在,您可以继续使用它,如果不存在,则故障返回到 BufferedReader
/Scanner
。
关于Java : How to read password from file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39347512/
我是一名优秀的程序员,十分优秀!