Я знаю, что для программы есть stdout / in / err, и я хочу перенаправить вывод программы в файл вместо вывода консоли. И теперь я разбираюсь с кодом ниже:
FileStream fs = File.Open(@"E:\console.txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs);
TextWriter old = Console.Out;
Console.SetOut(sw);
Console.Write("bbb");
sw.Flush();
Но этот подход заключается в подключении программы stdout к Console.Out и перенаправлении Console.Out в файл. Это примерно так:
Program.StdOut -> Console.Out -> Файл
Консоль. Здесь, похоже, мост. Я не хочу этот мост, и я не хочу использовать Console.Write () , чтобы сделать вывод. Как можно сопоставить поток stdout программы с целевым файлом напрямую и записать в стандартный вывод программы вместо Console.Write () ? То, что я хочу, выглядит примерно так:
Program.StdOut -> Файл
Свойство Process.StandardOutput дает мне только для чтения StreamReader объект. Как написать в Process.StandardOutput ?? Или где стандартный вывод программы ?
Большое спасибо.