Вы не читаете выходной поток, вы пишете в него, чтобы передать данные для обработки.Для чтения данных из процесса используйте
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
br.readLine();
Код для вывода строки процесса.Конечно, если ваш процесс выводит данные другим способом, вы должны изменить обертки вокруг process.getInputStream()
Обновление: я думаю, что в некотором роде сбивает с толку, что мы используем getInputStream
для фактического чтения вывода процесса :) Причина в том, что изначально базовые классы OutputStream
и InputStream
были названы так относительно кода, который их использует (код, который вы пишете).Поэтому, когда вы используете OutputStream
, вы фактически используете его как вывод для вашей программы.Когда вы используете process.getOutputStream
, вы не получаете выходные данные процесса, а вместо этого получаете выходные данные вашей программы, которые передаются для обработки входных данных.Когда вы используете process.getInputStream
, вы получаете входные данные для вашей программы, которые получают данные, передаваемые из выходных данных процесса.