Я работаю над проектом, который требует от меня запуска экземпляра scala с использованием класса Process. Для этого я выполнить следующий код:Java: Запись на поток вывода Scala
Process process = RunTime.getRunTime().exec("<path to scala binary> <scala file>");
Этого вызов дает мне представитель процесса программы лестницы, которая выполняется. Я могу получить доступ к входному потоку процесса и получать информацию от процесса с:
BufferedReader stdin = new BufferedReader(new InputStreamReader(process.getInputStream()));
stdin.readLine();
Скал программа, которую я пытаюсь запустить включает сканер, который улавливает ввод и выводит его. При попытке зарегистрировать BufferedWriter к OutputStreamWriter, который генерируется из process.getOutputStream(), а затем записать этот поток с:
stdout.write("Hello");
Программа Scala не получает этот вход, и мне было интересно: почему это происходит?
Вы очищаете вход ('stdout.flush()')? –
В этом была проблема, спасибо! –