открытие оболочки и взаимодействие с ее вводом / выводом в Java

Я пытаюсь открыть оболочку (xterm) и взаимодействовать с ней (написать команды и прочитать вывод оболочки)

Вот пример кода, который не будет работать:

public static void main(String[] args) throws IOException {
    Process pr = new ProcessBuilder("xterm").start();
    PrintWriter pw = new PrintWriter(pr.getOutputStream());
    pw.println("ls");
    pw.flush();
    InputStreamReader in = new InputStreamReader(pr.getInputStream());
    System.out.println(in.read());
}

Когда я выполняю эту программу, открывается окно «x, term» и команда «ls» не вводится. Только когда я закрываю окно, я получаю «-1» и ничего не читается из оболочки

ВАЖНЫЙ-

Я знаю, что могу просто использовать:
Процесс pr = новый ProcessBuilder ("ls"). Start ();

Чтобы получить вывод, но мне нужно открыть «xterm» для других целей

большое спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос