在过去的几个小时里,我进行了很多搜索以打开 program.exe 并像 cmd 一样与它进行交互。我发现的解决方案不起作用或仅适用于打开 cmd 并运行诸如“dir”之类的命令。
我想打开一个程序(比如说program.exe),输入一个命令,解析输出,然后输入下一个命令。命令行窗口不必打开/可见,但我需要获取输出并输入更多命令。我怎样才能用Java做到这一点?
在过去的几个小时里,我进行了很多搜索以打开 program.exe 并像 cmd 一样与它进行交互。我发现的解决方案不起作用或仅适用于打开 cmd 并运行诸如“dir”之类的命令。
我想打开一个程序(比如说program.exe),输入一个命令,解析输出,然后输入下一个命令。命令行窗口不必打开/可见,但我需要获取输出并输入更多命令。我怎样才能用Java做到这一点?
我认为您可能指的是打开另一个进程并从中运行命令行程序并将参数传递给该辅助进程。
如果是这样,您正在寻找的是ProcessBuilder。
你可以创建一个Process并获取一个输入流来读取它,或者一个输出流来写回它。
您可能需要检查以下示例:
你应该看看运行时。它是每个应用程序都拥有并且可以与环境交互的对象。 http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html
您可以使用“exec”启动一个程序,该程序将返回一个 Process 实例。您可以通过调用“process.getOutputStream();”来访问输出流