C# System.Diagnostics.Process redirecting Standard Out for large amounts of data

前端 未结 5 1448
情歌与酒
情歌与酒 2020-12-21 12:51

I running an exe from a .NET app and trying to redirect standard out to a streamreader. The problem is that when I do

myprocess.exe >> out.txt

out.txt is cl

5条回答
  •  一向
    一向 (楼主)
    2020-12-21 13:08

    I haven't tried, but it looks like the asynchronous methods may offer better performance. Instead of using process.StandardOutput, try this method instead:

    Process process = Process
        .Start(new ProcessStartInfo("a.exe"){RedirectStandardOutput = true});
    if (process != null)
    {
        process.OutputDataReceived += ((sender, e) =>
                                       {
                                           string consoleLine = e.Data;
                                           //handle data
                                       });
        process.BeginOutputReadLine();
    }
    

提交回复
热议问题