Записать вывод консоли в файл

Действительно новичок в этом, я прочитал ответы здесь, и они помогли до сих пор, но я все еще немного застрял.

Мне удалось создать программу, которая отображает звездный знак пользователей из ввода DOB.

Теперь я хочу отправить результаты в текстовый файл. Я могу создать файл, но я не знаю, как отправить консольный вывод/результат программы в файл.


person user1937185    schedule 03.01.2013    source источник
comment
Добро пожаловать в СО. Возможные дубликаты: stackoverflow.com/questions/61110/ stackoverflow.com/questions/420429/   -  person Rotem    schedule 03.01.2013


Ответы (2)


Console.WriteLine("Hello World");
FileStream fs = new FileStream("Test.txt", FileMode.Create);
// First, save the standard output.
TextWriter tmp = Console.Out;
StreamWriter sw = new StreamWriter(fs);
Console.SetOut(sw);
Console.WriteLine("Hello file");
Console.SetOut(tmp);
Console.WriteLine("Hello World");
sw.Close();

http://msdn.microsoft.com/en-us/library/system.console.setout.aspx

person trydis    schedule 03.01.2013
comment
Технически правильно, но дублирование каждой операции записи быстро станет довольно громоздким. Более управляемым подходом было бы либо создать большую строку для вывода в конце, а затем записать ее дважды, либо написать класс, который мультиплексирует вывод в несколько потоков. - person Sean McSomething; 03.01.2013

Если вы рассчитали дату рождения и записали ее в консоль, у вас есть ответ, сохраненный в переменной, тогда все, что вам нужно сделать, это записать ее в текстовый файл — если я что-то не упустил в задаче?

http://msdn.microsoft.com/en-us/library/aa287548(v=vs.71).aspx

person wyerarch    schedule 03.01.2013
comment
+1: Вероятно, это правильный подход к самой проблеме, а также не немедленный ответ на вопрос ОП. - person Alexei Levenkov; 03.01.2013