Я пытаюсь использовать ProcessBuilder
, чтобы заставить Java взаимодействовать с внешней программой (Prolog
).
Я понимаю, как установить переменные среды, и сделал это.
Но я не понимаю, как я общаюсь с процессом, как я делаю входные данные, как я получаю выходные данные из него, как обрабатываются ошибки.Я считаю, что мне нужно использовать входной поток для получения вывода из пролога, входной поток для ошибок из Prolog
и выходной поток для выдачи пролога ввода.Может кто-нибудь сказать мне, как я использую эти потоки для связи с программой?
Вот что у меня есть (дайте мне знать, если в какой-то момент я ошибаюсь)
ProcessBuilder pb = new ProcessBuilder("gprolog");
//Enviroment variable to disable the gui for prolog
pb.environment().put("LINEDIT", "gui=no");
InputStream in = pb.getInputStream();
InputStream err = pb.getErrorStream();
OutputStream out = pb.getOutputStream();
pb.start();
Как мне дать команду прологу после этого?