Выполнение внешней программы в Java и передача команд - PullRequest
1 голос
/ 31 марта 2012

У меня есть этот шахматный движок Rybka.exe, который я должен выполнить в Java. Вот пример того, как вы запускаете Рыбку: Как только вы нажали на нее, консоль открывается и ждет ввода.Затем вы вводите «uci», нажимаете ввод и ждете, пока он загрузится (около 1 секунды), а затем вам нужно ввести еще несколько строк в качестве опций и прочего.Проблема в том, что я не знаю, как передать эти команды из Java в Рыбку.Дело в том, что эти команды нужно вводить по одной, потому что вам нужно ждать, пока некоторые из них будут выполнены.Вот как я пытался его открыть.Код:

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

Это работает, потому что вы видите, что Rybka.exe активен в диспетчере задач, но я не знаю, как передавать ему команды.

Ответы [ 2 ]

0 голосов
/ 31 марта 2012

a) как связать консольное приложение Windows с Java-приложением?

ссылка предоставлена ​​поисковым запросом 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)

0 голосов
/ 31 марта 2012

Вы пробовали передавать параметры / команды, как показано ниже?

Runtime.getRuntime (). Exec ("Rybka.exe параметр1, параметр2");

...