Hallo Zusammen,
folgendes Problem. Ich rufe aus meiner Java Anwendung ein anderes Programm ".exe" auf.
Das externe Programm führt kurz etwas aus und gibt über die Konsole einen String zurück, ob der Vorgang erfolgreich war oder nicht.
Jetzt möchte ich diesen String abfangen und aus meinem Programm heraus auswerten.
Dazu habe ich folgendes versucht:
Die Methode pBuilder.redirectOutput(output) funktioniert einwandfrei. Der String wird empfangen und in die Datei geschrieben.
Die Variable response bleibt leider leer.
Wenn der Text in dem Outputfile steht bringt mir das leider nichts. Wie komme ich direkt an den String, bzw. wo ist mein Fehler?
Gruß
TDO
folgendes Problem. Ich rufe aus meiner Java Anwendung ein anderes Programm ".exe" auf.
Das externe Programm führt kurz etwas aus und gibt über die Konsole einen String zurück, ob der Vorgang erfolgreich war oder nicht.
Jetzt möchte ich diesen String abfangen und aus meinem Programm heraus auswerten.
Dazu habe ich folgendes versucht:
Java:
ProcessBuilder pBuilder = new ProcessBuilder(SwitchBoardPath,LoadINICommand);
File output = new File("C:\\Users\\TDO\\Desktop\\output.txt");
pBuilder.redirectOutput(output);
Process p = pBuilder.start();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(p.getInputStream()));
p.waitFor();
StringBuilder response = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
response.append(line + "\n");
}
bufferedReader.close();
Die Methode pBuilder.redirectOutput(output) funktioniert einwandfrei. Der String wird empfangen und in die Datei geschrieben.
Die Variable response bleibt leider leer.
Wenn der Text in dem Outputfile steht bringt mir das leider nichts. Wie komme ich direkt an den String, bzw. wo ist mein Fehler?
Gruß
TDO