我必须使用Java程序,它需要2个用户输入:
Enter username:
Enter password:
所以我想发送它像
echo -e "myusername\npassword" | java javaprogram
和
java javaprogram < input.txt
两者都没有用。
当我执行此命令时,它显示如下错误:
Enter userID: Enter password: Exception in thread "main" java.io.IOException: Unable to mask input in console. at..
我不知道这个jar文件的源代码。
这可能是什么原因?
答案 0 :(得分:3)
程序很可能不是从标准输入读取密码,而是从终端读取密码。有一个名为expect
的程序,它基本上是一种用于编写与终端程序交互的脚本的语言。
答案 1 :(得分:1)
查看expect,它有助于与交互式程序进行编程对话。此外,如果您想了解有关正在使用的* .jar文件源的更多信息,可以对其进行反编译。