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

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

最佳答案

进程有 .getErrorStream() 或者您可以使用 ProcessBuilder 的 .redirectErrorStream() 正如 MadProgrammer 的评论和这个 SO Question 中提到的: Java Process with Input/Output Stream

关于java - 捕获错误消息并显示在控制台(IDE)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15717120/

相关文章:

java - GWT 应用程序的哪一部分被编译成 JavaScript?

java - 从线程内部调用时 Spring 数据存储库 find 方法挂起

java - 为什么 Java 中出现了包装类概念?

Java - 如何使用 PrintStream/OutputStream 打印到命令行

linux - 在文件中运行时,BLKID 在 Linux 中不提供输出

c++ - 重定向后重置 cout

java - 我应该导入数学库吗?如果是的话如何导入?

java - WSDL 端口的详细信息

java - System 类中 out 字段的值是多少?

java - 如何在 Java 中打印一个已经格式化的字符串