2010-09-23 63 views
2

我正在用C编写一个程序,它将使用java编译器(javac)编译java文件。我无法捕获javac(一个命令行工具)的输出来告诉用户错误。我知道如何启动一个进程并捕获标准输出,但javac不返回任何内容。有没有其他方法可以捕获输出,或者更好的方法是从java编译器中获取错误列表?在C#中编译java编译器的输出结果

回答

2

可能是你最好使用该过程的错误输出。 Process.StandardError

+0

谢谢......我设置了StandardError,但忘记了重定向标准错误。 – Nolan 2010-09-23 04:54:07

1

我认为这是因为错误发送到stderr而不是stdout。解决这个问题的一种方法是将输出重定向到stderrstdout并捕获它。例如:

javac files.java 2>&1 

或者你也可以访问Process.StandardError流作为MAKKAM建议。