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

Jam*_*mes 6 c# java command-line jar

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

我试图从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;
Run Code Online (Sandbox Code Playgroud)

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

jon*_*ers 6

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