открытие оболочки и взаимодействие с ее вводом / выводом в 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());
}

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

ВАЖНЫЙ-

Я знаю, что могу просто использовать:

Процесс pr = новый ProcessBuilder ("LS»).Начните();

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

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

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

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