Öffnen einer Shell und Interaktion mit deren I / O in Java
Ich versuche eine Shell zu öffnen (xterm) und mit ihr zu interagieren (Befehle schreiben und die Ausgabe der Shell lesen)
Hier ist ein Codebeispiel, das nicht funktioniert:
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());
}
Wenn ich dieses Programm ausführe, öffnet sich ein "xterm" -Fenster und der "ls" -Befehl wird nicht eingegeben. Erst wenn ich das Fenster schließe, wird ein "-1" ausgegeben und nichts aus der Shell gelesen
WICHTIG-
Ich weiß, ich kann nur verwenden:
Process pr = neuer ProcessBuilder ("ls"). Start ();
Um die Ausgabe zu bekommen, muss ich aber das "xterm" für andere Zwecke öffnen
Danke vielmals