Во-первых, я увидел несколько вопросов об этой проблеме на сайте, но не нашел ответа, который решил бы мою проблему.
У меня есть программа, написанная на Java, и она вызывает программу cmd, написанную на C ++. (это предположение, поскольку у меня нет фактического источника) Я знаю ожидаемый ввод-вывод программы C ++, в cmd это две строки вывода, а затем он ожидает ввода строки.
Я знаю, что первая строка вывода программы проходит через поток ошибок, и я получаю его правильно (это ожидается), но я не получаю вторую строку с ошибкой или потоком ввода.
Я пытался записать в программу сразу после первой строки (строка ошибки) и не застрял, но ответа не было.
Я попытался использовать 3 разных потока для каждого потока, но опять же ничего не было получено в потоке ввода / ошибок после первой строки, и программа не отвечала на запись через выходной поток.
Мои инициализаторы:
Process p = Runtime.getRuntime().exec("c:\\my_prog.exe");
BufferedReader err = new BufferedReader(new InputStreamReader(p.getErrorStream()));
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
Возможно ли это вообще или, может быть, это зависит от программы на C ++?
Спасибо,
Биньямин