WriteLine не печатает весь текст

Я работаю над программой С#, которая извлекает полезные данные в плоский файл.

Данные в источнике в таком формате:


Тема: Ежедневный будильник

Охват: глобальный

тип: еженедельно
дата: 05.04.2012 16.03.03
количество: 388

тип: еженедельно
дата: 05.04.2012 16.03.03
количество: 567


Вывод должен содержать их в виде двух строк:


Daily Alarm|Global|weekly|05042012160303|388
Daily Alarm|Global|weekly|05042012160303|567

Я закончил кодирование, и Console.WriteLine печатает требуемый вывод.

Но когда я использую

System.IO.StreamWriter output = new System.IO.StreamWriter("D:\\SHARPE\\multirow\\destination.txt");

output.WriteLine дает такой результат


Daily Alarm|Global|weekly|05042012160303|388
Daily Alarm|Globa

Заранее спасибо


person Lordlebu    schedule 10.09.2012    source источник
comment
Вам, вероятно, понадобится более длинный фрагмент кода, показывающий все, что вы делаете с объектом output.   -  person Neil    schedule 10.09.2012
comment
Вам придется показать больше кода, но держу пари, вы неправильно закрываете стримрайтер. Попробуйте создать его внутри блока using (using (var output = new System.IO.StreamWriter("D:\\SHARPE\\multirow\\destination.txt")) { }) или вызовите output.Flush(), когда закончите писать.   -  person Kevin Gosse    schedule 10.09.2012
comment
foreach (строка keyVal в orderOfValues) { Console.WriteLine(keyVal); содержимое файла += sdValues[keyVal] + |; } filecontent = filecontent.Replace(‹BR›, ); Console.WriteLine(filecontent.Substring(0, filecontent.Length - 2)); output.WriteLine(filecontent.Substring(0, filecontent.Length - 2));   -  person Lordlebu    schedule 10.09.2012


Ответы (1)


Вы вызываете StreamWriter.Close() или Flush()?

Редактировать:

Вы всегда должны оборачивать потоковый писатель в использование блоков:

using (StreamWriter writer = new StreamWriter(@"somefile.txt"))
{

}
person Avitus    schedule 10.09.2012
comment
@downvoter: хочешь объяснить? Ответ — верная подсказка: учитывая отсутствие информации в ОП, наиболее вероятная причина — невозможность закрыть поток. - person Vlad; 10.09.2012
comment
Я должен сказать, что это прекрасно работало на моем домашнем ПК, где я это сделал. Оба случая Framework 2 - person Lordlebu; 10.09.2012