Hi!
Ich habe in dem Zusammenhang vor einiger Zeit schonmal ein Thread gestartet, leider ist es mir bislang nicht gelungen das Problem zu lösen.
Ich müsste dringend in den Outputstream von Runtime schreiben um das Netzlaufwerk in jedem Fall trennen zu können. Ich lese in diversen Erläuterungen zu exec() immer wieder, dass man das aufgerufene Programm über den Outputstream mit Eingaben versorgen kann. Wie das gehen soll, ein Beispiel oder ähnliches habe ich aber noch niergends gesehen?
Wie schaff ich es dem laufenden Programm ein Y und ein Enterdruck zu schicken?
Hier mal ein Beispiel, wie's nicht geht
Ich habe in dem Zusammenhang vor einiger Zeit schonmal ein Thread gestartet, leider ist es mir bislang nicht gelungen das Problem zu lösen.
Ich müsste dringend in den Outputstream von Runtime schreiben um das Netzlaufwerk in jedem Fall trennen zu können. Ich lese in diversen Erläuterungen zu exec() immer wieder, dass man das aufgerufene Programm über den Outputstream mit Eingaben versorgen kann. Wie das gehen soll, ein Beispiel oder ähnliches habe ich aber noch niergends gesehen?
Wie schaff ich es dem laufenden Programm ein Y und ein Enterdruck zu schicken?
Hier mal ein Beispiel, wie's nicht geht
Code:
System.out.println("Deleting Networkdrive");
ProcessBuilder builder = new ProcessBuilder( "cmd", "/c", "net use r: /delete" );
builder.directory( new File("c:/") );
Process p = builder.start();
Scanner s = new Scanner( p.getInputStream() ).useDelimiter( "\\Z" );
if(s.hasNext())
System.out.println( s.next() );
PrintStream ps = new PrintStream(p.getOutputStream());
s.println('Y');
s.useDelimiter("\\Z");
System.out.println(s.next());