Ich versuche mit dem Runtime.getRuntime().exec Befehl eine Befehlszeile in der Kommandozeile auszuführen.
Der Befehl so in der Kommandozeile per Hand gestart geht:
"F:\UFO Aftershock\Profiles\Brainiac\Saves\vfstool.exe" e "F:\UFO Aftershock\Profiles\Brainiac\Saves\Storage.vfs" "F:\UFO Aftershock\Profiles\Brainiac\Saves\Storage"
in Java hab ich ihn dann wie folgt codiert:
Nun meine erfolglosen Versuche:
1.
2.
3.
Leider führt nichts davon zum Erfolg. Nun habe ich versuche mir den Errorstream anzeigen zu lassen. Wenn ich das tue, bleibt das Programm ohne Fehlermeldung hängen (Eigentlich sollte sich ein Fenster öffnen, tut es aber nicht mehr) und ich muß es über den Prozessexplorer von Netbeans killen. SO habe ich das versucht:
So wo liegt mein Fehler?
Der Befehl so in der Kommandozeile per Hand gestart geht:
"F:\UFO Aftershock\Profiles\Brainiac\Saves\vfstool.exe" e "F:\UFO Aftershock\Profiles\Brainiac\Saves\Storage.vfs" "F:\UFO Aftershock\Profiles\Brainiac\Saves\Storage"
in Java hab ich ihn dann wie folgt codiert:
Code:
String executionString = "\"F:\\UFO Aftershock\\Profiles\\Brainiac\\Saves\\vfstool.exe\" e \"F:\\UFO Aftershock\\Profiles\\Brainiac\\Saves\\Storage.vfs\" \"F:\\UFO Aftershock\\Profiles\\Brainiac\\Saves\\Storage\"";
Nun meine erfolglosen Versuche:
1.
Code:
Process p = Runtime.getRuntime().exec("cmd.exe" + executionString);
2.
Code:
Process p = Runtime.getRuntime().exec("cmd.exe /c start" + executionString);
3.
Code:
Process p = Runtime.getRuntime().exec("cmd.exe");
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
output.write(executionString);
output.flush();
Leider führt nichts davon zum Erfolg. Nun habe ich versuche mir den Errorstream anzeigen zu lassen. Wenn ich das tue, bleibt das Programm ohne Fehlermeldung hängen (Eigentlich sollte sich ein Fenster öffnen, tut es aber nicht mehr) und ich muß es über den Prozessexplorer von Netbeans killen. SO habe ich das versucht:
Code:
BufferedReader input = new BufferedReader(new InputStreamReader(p.getErrorStream()));
System.out.println(input.readLine());
So wo liegt mein Fehler?