如何自动回答Java中的用户提示?
How to automatically answer user prompts in Java?
我正在使用编译后的 Java 文件,该文件将文件名作为参数,然后要求输入用户名和密码(通过用户输入)。我正在尝试通过 shell 脚本自动执行此操作,但 运行 遇到了问题。我无法访问 java 代码,这就是我遇到问题的原因。
所以代码调用方式如下
java javaprogram /home/user/securityfile
因此,您传递了文件,然后它要求您提供用户名和密码。输入这些后,就完成了。
现在,我尝试将用户输入放入一个文件中并传入,但出现错误。
java javaprogram /home/user/securityfile < userinputfile
用户输入文件包含以下文本(第一行是用户名,第二行是密码):
MattSmith
MSpassword136
有人有什么想法吗?也许我做错了?
错误信息如下:
Exception in thread "main" java.lang.NullPointerException at ilex.util.UserAuthFile.main(UserAuthFile.java:297)
谢谢
试试看
(echo "user"; sleep 1; echo "password") | java javaprogram /home/user/securityfile
如果可行,您可以重构为从文件中读取而无需太多工作。如果没有,可能是该应用程序永远不会从 System.in
中读取,因为它需要一个交互式控制台 System.console()
。一些信息 here.
我正在使用编译后的 Java 文件,该文件将文件名作为参数,然后要求输入用户名和密码(通过用户输入)。我正在尝试通过 shell 脚本自动执行此操作,但 运行 遇到了问题。我无法访问 java 代码,这就是我遇到问题的原因。
所以代码调用方式如下
java javaprogram /home/user/securityfile
因此,您传递了文件,然后它要求您提供用户名和密码。输入这些后,就完成了。
现在,我尝试将用户输入放入一个文件中并传入,但出现错误。
java javaprogram /home/user/securityfile < userinputfile
用户输入文件包含以下文本(第一行是用户名,第二行是密码):
MattSmith
MSpassword136
有人有什么想法吗?也许我做错了?
错误信息如下:
Exception in thread "main" java.lang.NullPointerException at ilex.util.UserAuthFile.main(UserAuthFile.java:297)
谢谢
试试看
(echo "user"; sleep 1; echo "password") | java javaprogram /home/user/securityfile
如果可行,您可以重构为从文件中读取而无需太多工作。如果没有,可能是该应用程序永远不会从 System.in
中读取,因为它需要一个交互式控制台 System.console()
。一些信息 here.