Я пишу приложение, которое будет записывать таблицы базы данных в файлы CSV. Поскольку многие таблицы содержат более миллиона записей, я даю пользователю возможность записывать большие таблицы в файлы по 25 000 строк в каждом. Я хочу, чтобы пользователь указал исходное имя файла в диалоговом окне SaveFileDialog, а затем добавил «-part1», «-part2» и т. д. для каждого нового записанного файла. Как можно программно записать несколько файлов, пока не будут записаны все данные? Текущий код, который мне нужно написать для файла из 25 000 строк, указан ниже.
public void ExportPartition(SaveFileDialog saveFile, DataTable table)
{
TextWriter writer = new StreamWriter(saveFile.FileName, true, System.Text.Encoding.ASCII, 1048576);
for (int i = 0; i <= 25000; i++)
{
for (int j = 0; j < table.Columns.Count; j++)
{
writer.Write(table.Rows[i][j].ToString() + ",");
}
writer.Write("\r\n");
}
writer.Flush();
DisposeObjects(saveFile, writer);
}