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