Windows控制台上的输出和错误流

时间:2013-09-27 15:15:10

标签: java windows stream console eclipse-rcp

我正在寻找在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();

0 个答案:

没有答案