阅读标准输出的最后一行

本文关键字:一行 最后 标准输出 | 更新日期: 2023-09-27 18:31:16

我正在通过Process.Start()执行程序。我尝试重定向输出以获取行。

但是,现在,我只需要最后一行。

有没有办法只阅读最后一行,还是我仍然需要整个redirectStandaroutput = false;等?

有没有更简单的方法?

如果我必须按照process.Redirect(),我尝试按照 MSDN 和其他源上的示例进行操作outputdatareceived事件,但我的输出仅在最后写入控制台,并且不是异步的。

阅读标准输出的最后一行

一旦你使用process.Start(),我知道读取输出的唯一方法是使用 .RedirectStandardInput = true; .由于 Standart 输出是一个流对象,因此只能通过读取整个流来读取最后一行。

顺便说一句,proc.StandardOutput.ReadToEnd()会挂起您的线程,直到进程退出,如果您在阅读过程中收到任何 promts - 您的应用程序将挂起。