c# – 读取STDOUT的最后一行
发布时间:2020-12-15 21:33:07 所属栏目:百科 来源:网络整理
导读:我正在通过Process.Start()执行一个程序.我尝试重定向输出以获取行. 但是现在,我只需要最后一行. 有没有办法只读取最后一行,或者我仍然需要整个redirectStandaroutput = false;等等? 有更简单的方法吗? 如果我必须通过process.Redirect(),我尝试使用output
我正在通过Process.Start()执行一个程序.我尝试重定向输出以获取行.
但是现在,我只需要最后一行. 有没有办法只读取最后一行,或者我仍然需要整个redirectStandaroutput = false;等等? 有更简单的方法吗? 如果我必须通过process.Redirect(),我尝试使用outputdatareceived事件跟踪MSDN和其他源上的示例,但我的输出仅在结束时写入控制台而不是异步. 解决方法
一旦你使用process.Start()读取我知道的输出的唯一方法是使用.RedirectStandardInput = true;.
由于Standart输出是一个流对象,因此只能通过读取整个流来读取最后一行. BTW proc.StandardOutput.ReadToEnd()将挂起你的线程,直到进程退出,如果你在阅读过程中得到任何承诺 – 你的应用程序将挂断. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |