Wie erfasse ich die Daten, die von einer aus einem Stapel ausgegebenen EXE-Datei zurückgegeben wurden?
Ich habe eine Batch-Datei, die von einem Java-Programm aufgerufen werden muss. Die Batch-Datei ruft wiederum eine EXE auf. Das EXE-Programm gibt Daten zurück, die ich verarbeiten möchte. Wenn die EXE-Datei Daten an die Konsole druckt, können diese wie folgt erfasst werden. Aber wenn die EXE istzurückkehren Daten nach der Fertigstellung können nicht erfasst werden.
ProcessBuilder pb = new ProcessBuilder("foo.bat");
Process p = pb.start();
int exitValue = p.waitFor();
BufferedReader reader;
// System.out.println("Exit Value" + exitValue);
if (exitValue == 0) {
reader = new BufferedReader(new InputStreamReader(p
.getInputStream()));
} else {
reader = new BufferedReader(new InputStreamReader(p
.getErrorStream()));
}
StringBuffer sb = new StringBuffer();
String temp = reader.readLine();
while (temp != null) {
sb.append(temp);
temp = reader.readLine();
}
reader.close();
System.out.println(sb.toString());
Wie muss ich die von der aus einer Batch-Datei ausgeführten EXE-Datei zurückgegebenen Daten erfassen?
Die EXE ist im Grunde ein C-Programm. Wenn ich das C-Programm aufrufe, gibt die main-Methode die Daten zurück, die ich verarbeiten möchte.