Windows コンソールに出力とエラー ストリームを出力するソリューションを探しています。
Java プログラムは、コマンド ラインのおかげで rcp アプリケーション (.exe) を開始します。
Runtime.getRuntime.exec("example.exe");
Example.exe は起動後に何かを書き込みます...次に、Java プログラムが example.exe の出力ストリームを取得するようにします。
私の問題は、それが機能しないことです.2つのEclipseランタイムオプションを配置する-console
と-consoleLog
、出力ストリームが別のコンソールに出力されるため、ストリームを取り戻すことができません...
何か案は?
編集: outputStream と errorStream を取得するコードは次のとおりです (単純な Java プログラムでは機能しますが、rcp アプリケーションでは機能しません)。
final Process process = Runtime.getRuntime().exec("toto.exe");
new Thread() {
public void run() {
try {
BufferedReader inputReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String line = "";
try {
while((line = inputReader.readLine()) != null) {
inputText = inputText + line;
}
System.out.println(inputText);
while((line = errorReader.readLine()) != null) {
errorText = errorText + line;
}
System.out.println(errorText);
} finally {
errorReader.close();
inputReader.close();
}
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}.start();