Связь с программой командной строки Java vs C - PullRequest
0 голосов
/ 13 сентября 2018

Допустим, у меня есть программа командной строки.Я хочу иметь возможность общаться с ним из моей Java-программы.Я попробовал следующий метод:

    Process p = new ProcessBuilder(pathToProgramC).start();
    in = new Scanner(new InputStreamReader(p.getInputStream()));
    out = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));

Я хотел использовать вход и выход для чтения из выходных данных программы и записи для ее ввода.

Чтобы прояснить мою точную проблему, я написал две минимальные программы, одну на Java и одну на C, чье поведение с точки зрения терминала идентично.Тем не менее, приведенный выше код прекрасно работает при взаимодействии с java-версией, но бесконечно ждет при попытке установить связь с C-версией.Поскольку две программы запускаются одинаково из командной строки, как это может быть так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...