我正在尝试从我的java代码执行一个exe文件....执行时,该文件会提示用户输入密码然后验证密码..
所以基本上,我遇到的问题是能够分配密码及其验证。已经尝试过关于此主题的先前帖子的解决方案,尤其是这一个:Java: Detecting user prompt when running a batch script from Java,它使用输出流写入命令行但这对我来说不起作用,因为如果执行读操作,代码会挂起。这就是我所做的:
image of my command line when run manually outside java
basically the link above is an image of my commandline, which looks like this:
C:/Program Files//com/ExecCodes/bin64>install.exe <hit enter>
C:/Program Files//com/ExecCodes/bin64>Password: <hit enter>
C:/Program Files//com/ExecCodes/bin64>Verify: <hit enter>
string command ="C:/Program Files//com/ExecCodes/bin64/install.exe";
final Process p = runtime.exec(command);
final BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
StringBuilder sb = new StringBuilder();
char[] cbuf = new char[100];
//My code hangs here..>> while (input.read(cbuf) != -1) {
sb.append(cbuf);
if (sb.toString().contains("Password:")) {
break;
}
else (sb.toString().contains("Verify:")) {
break;
}
}
如何修复此代码以使我输入密码.. ???