我有一个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;
我似乎总是得到一个空字符串,并想知道为什么会这样,或者是否有更好的方法呢?
答案 0 :(得分:6)
设置RedirectStandardError
并调用p.StandardError.ReadToEnd()
会读取进程的任何错误输出。