在c#中从jar获取控制台输出

时间:2011-08-04 19:26:01

标签: c# java command-line jar

我有一个jar,如果我从命令行运行,则返回一个true或false打印到控制台

我试图从c#运行它并获得结果 - 这就是这样做的

Process p = new Process();
p.StartInfo = new ProcessStartInfo("java", @"-jar test.jar " + paramterForStringArgs[0]);
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();
String s = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Trace.WriteLine("data = " + s);
return false;

我似乎总是得到一个空字符串,并想知道为什么会这样,或者是否有更好的方法呢?

1 个答案:

答案 0 :(得分:6)

设置RedirectStandardError并调用p.StandardError.ReadToEnd()会读取进程的任何错误输出。