0

我正在使用我的 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 可以解决这个问题吗?如果可以的话,请给我看一段代码示例。提前致谢

4

1 回答 1

2

Process has .getErrorStream() or you can use ProcessBuilder's .redirectErrorStream() as mentioned by MadProgrammer's comment and this SO Question: Java Process with Input/Output Stream

于 2013-03-30T09:55:39.547 回答