运行一个exe文件并用java向其插入一些输入
我在用java运行exe文件时遇到问题。 exe文件的处理过程是这样的:运行一个命令后,它要求 密码,当我插入密码时,它会执行此操作。 但在我的java程序中,我试图用exe文件运行一些命令。 我调用exe文件并运行我的第一个命令,然后用outputstream插入密码,但t控制台获得freez,它什么也不做。 我的代码:运行一个exe文件并用java向其插入一些输入,java,Java,我在用java运行exe文件时遇到问题。 exe文件的处理过程是这样的:运行一个命令后,它要求 密码,当我插入密码时,它会执行此操作。 但在我的java程序中,我试图用exe文件运行一些命令。 我调用exe文件并运行我的第一个命令,然后用outputstream插入密码,但t控制台获得freez,它什么也不做。 我的代码: 您应该在两个不同的线程中读取命令的输出和stderr。另外,使用p.waitFor()等待进程完成。@ammoQ如何在两个不同的线程中读取它们?下面是一个示例:(该页上的最后
您应该在两个不同的线程中读取命令的输出和stderr。另外,使用
p.waitFor()
等待进程完成。@ammoQ如何在两个不同的线程中读取它们?下面是一个示例:(该页上的最后一个示例)您应该在两个不同的线程中读取命令的输出和stderr。另外,使用p.waitFor()
等待进程完成。@ammoQ如何在两个不同的线程中读取它们?下面是一个示例:(该页上的最后一个示例)
String command = "xxxx";
Process p = Runtime.getRuntime().exec(command);
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(p.getOutputStream()));
writer.write("123456");
writer.close();
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
String s = null;
System.out.println("output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
// read any errors from the attempted command
System.out.println(" error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}