请高手指点,读取标准输出流(按行读取)导致错误的问题
我的程序调用别的程序,需要将外部程序执行过程中的信息不断的打印出来,当一个程序输出的信息过大时,导致死机了,不知道怎么解决了,private void MonitoringStdOuput()
{
while (true)
{
if (_process == null || _process.HasExited)
{
break;
}
string line;
char[] buffer = new char[_process.StandardOutput.ReadToEnd().Length];
while (!_process.HasExited && (line = _process.StandardOutput.ReadLine()) != null)
{
if (OnGetOutputString != null)
{
OnGetOutputString(line );//此方法是一个委托 主要向界面输出信息的
}
}
Thread.Sleep(100);// 暂时释放cpu资源
}
}
现在在这里报错 while (!_process.HasExited && (line = _process.StandardOutput.ReadLine()) != null)
说缓冲区小,不知道怎么解决,或者执行到这里的时候,直接死机了.请各位高手指点. --------------------编程问答-------------------- --------------------编程问答-------------------- 把char[] buffer = new char[_process.StandardOutput.ReadToEnd().Length];这句注释掉再试
--------------------编程问答-------------------- char[] buffer = new char[_process.StandardOutput.ReadToEnd().Length];
这句没用,删掉看看!! --------------------编程问答-------------------- 自己已经解决,谢谢大家 --------------------编程问答-------------------- 怎么解决的啊
写出来
我也遇到这个问题
补充:.NET技术 , C#