Как отправить вход в запущенный процесс в Java? - PullRequest
2 голосов
/ 10 марта 2020

В java 8 я запускаю процесс для запуска файла python, используя Process и ProcessBuilder

Когда процесс запущен, он запрашивает у меня ввод.

I видите, в ProcessBuilder есть метод redirectInput, я пытался, и он работал хорошо. Но проблема в том, что ввод не может быть сделан c. Он всегда изменяется в зависимости от значения, которое обрабатывает python.

Есть ли способ отправить вход в запущенный процесс без использования redirectInput?

In java

//create process builder and process to run python code
ProcessBuilder pb = new ProcessBuilder(PYTHON, CODE_FOR_RECORD_LINKAGE)
                    .redirectInput(new File(INPUT_RECORD_LINKAGE))
                    .redirectOutput(new File(OUTPUT_RECORD_LINKAGE))
                    .redirectError(new File(ERROR_RECORD_LINKAGE));
Process p = pb.start();

В командной строке

0/10 positive, 0/10 negative
Do these records refer to the same thing?
(y)es / (n)o / (u)nsure / (f)inished
...