捕获错误消息并在控制台(IDE)中显示

时间:2013-03-30 09:45:32

标签: java outputstream system.out bytearrayoutputstream printstream

我正在使用我的java程序中的Processbuilder运行c ++程序(makefile)作为后台进程。我正在使用.getInputStream捕获我的cmd提示中显示的值并在我的控制台(IDE)中显示。

    input = new BufferedReader(new InputStreamReader(p.getInputStream()));

            String line;
    try {
       while((line=input.readLine()) != null) {

            System.out.println(line);

这很有效。假设我在我的一个c ++文件中出现了一些错误,当我尝试运行makefile时,它没有捕获错误消息。在使用“cmd.exe”,“start”时,我可以在cmd提示符中查看错误,但它不会显示在控制台(IDE)中。

我可以知道应该怎样做才能显示错误信息。

1)System.err和printstream可能是解决方案吗?如果是这样你可以请给我一个示例代码。提前致谢

1 个答案:

答案 0 :(得分:2)

进程有.getErrorStream()或者您可以使用MadProgrammer的评论和此SO问题中提到的ProcessBuilder的.redirectErrorStream()Java Process with Input/Output Stream