在java中执行外部程序并传递命令

时间:2012-03-31 18:40:59

标签: java process command runtime external

我有这个国际象棋引擎Rybka.exe,我必须在java中执行 以下是运行Rybka的示例: 单击它后,控制台将打开并等待输入。 那么你输入“uci”并按Enter键等待它加载(大约1秒),然后你必须输入更多的行作为选项和东西。 问题是我不知道如何将这些命令从java传递给Rybka。事实是,这些命令需要一次输入一个,因为你必须等待一些命令才能执行。 这就是我试图打开它的方式。 代码:

Process p1 = Runtime.getRuntime().exec("Rybka.exe");

这样可行,因为您可以看到Rybka.exe在任务管理器中处于活动状态,但我不知道如何将命令传递给它。

2 个答案:

答案 0 :(得分:0)

您是否尝试过如下传递参数/命令?

  

Runtime.getRuntime()。exec(“Rybka.exe parameter1,parameter2”);

答案 1 :(得分:0)

a)how to bind a windows console application with java application?

由Google搜索查询提供的链接:

https://www.google.pl/search?q=java+binding+console+to+an+app&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

b)简而言之:

 InputStream is = p1.getInputStream();
 OutputStream os = p1.getOutputStream();

(由显而易见的http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Process.html提供)