加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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()将挂起你的线程,直到进程退出,如果你在阅读过程中得到任何承诺 – 你的应用程序将挂断.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读