我正在使用 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/