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

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

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

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

a) 如何使用java应用程序绑定Windows控制台应用程序?

由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提供 )

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

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