Java:如何使用命令行打开程序并进行交互

时间:2012-05-29 17:10:27

标签: java runtime cmd inputstream outputstream

我在最后几个小时搜索了很多,打开program.exe并像cmd一样与它进行交互。我找到的解决方案无法正常工作或仅用于打开cmd和运行命令,如'dir'。

我想打开一个程序(比如program.exe),输入命令,解析输出然后输入下一个命令。命令行的窗口不必打开/可见,但我需要获取输出并输入更多命令。我怎么能用Java做到这一点?

2 个答案:

答案 0 :(得分:2)

我认为您可能指的是打开另一个进程并从中运行命令行程序并将参数传递给此辅助进程。

如果是这样,您要找的是ProcessBuilder

您可以创建Process并获取要从中读取的输入流,或者输出要回写的输出流。

您可能需要查看以下示例:

答案 1 :(得分:0)

你应该看看运行时。它是每个应用程序都具有的对象,并且与环境进行交互。 http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

您可以使用“exec”启动程序,该程序将返回Process实例。您可以通过调用“process.getOutputStream();”

来访问输出流