阅读标准输出的最后一行
本文关键字:一行 最后 标准输出 | 更新日期: 2023-09-27 18:31:16
我正在通过Process.Start()
执行程序。我尝试重定向输出以获取行。
但是,现在,我只需要最后一行。
有没有办法只阅读最后一行,还是我仍然需要整个redirectStandaroutput = false;
等?
有没有更简单的方法?
如果我必须按照process.Redirect()
,我尝试按照 MSDN 和其他源上的示例进行操作outputdatareceived
事件,但我的输出仅在最后写入控制台,并且不是异步的。
一旦你使用process.Start()
,我知道读取输出的唯一方法是使用 .RedirectStandardInput = true;
.由于 Standart 输出是一个流对象,因此只能通过读取整个流来读取最后一行。
顺便说一句,proc.StandardOutput.ReadToEnd()
会挂起您的线程,直到进程退出,如果您在阅读过程中收到任何 promts - 您的应用程序将挂起。