0

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();
4

0 に答える 0