Я хочу написать файл около 10 миллионов строк. Я использую StreamWriter
с оператором using, однако кажется, что StreamWriter
не сбрасывается. Вот мой код:
public void ExportRecords(IEnumerable<Record> records, string path)
{
using(TextWriter writer = new StreamWriter(path))
{
writer.WriteLine("header");
foreach(var record in records)
{
string line = "";
//Fill line with record properties
writer.WriteLine(line);
}
}
}
В определенной строке StreamWriter
не добавляет никаких строк. Так в чем же проблема?
EDIT
Как уже упоминалось в комментариях, код запускается асинхронно.
Вот как это делается:
Task.Run(() =>
{
if (!String.IsNullOrEmpty(folderPath))
{
var records = _generator.GenerateData();
_dataService.ExportRecords(records, $"{folderPath}/RECORDS.csv");
//Just a message box
_reporter.ReportMessage($"Generation and exportation finished");
}
else
{
IsGenerating = false;
_reporter.ReportMessage("No output file was created");
}
});
Так что я поставил точку останова, чтобы проверить, начинает ли метод выполняться, и он это делает. Я просто указываю, что код не застрял в методе генерации.