I am trying to open a shell (xterm) and interact with it (write commands and read the shell's output)
Here is a sample of code which won't work:
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());
}
When I execute this program an "xterm" window opens and the "ls" command is not entered. Only when I close the window I get a "-1" printed and nothing is read from the shell
IMPORTANT-
I know I can just use:
Process pr = new ProcessBuilder("ls").start();
To get the output, but I need the "xterm" opened for other uses
Thanks a lot