有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

bash Java程序不接受管道输入

我必须使用一个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文件的源代码

原因是什么


共 (2) 个答案

  1. # 1 楼答案

    很可能程序不是从标准输入读取密码,而是从终端读取密码。有一个名为expect的程序,它基本上是一种用于编写与终端程序交互脚本的语言

    看看http://expect.sourceforge.net/

  2. # 2 楼答案

    看看expect,它有助于与交互式程序进行编程对话。此外,如果你想知道更多关于*的来源。您正在使用的jar文件,可以对其进行反编译