открытие оболочки и взаимодействие с ее вводом / выводом в 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» для других целей
большое спасибо