Вот сценарий:
У меня есть каталог с 2+ миллионами файлов. Приведенный ниже код записывает все файлы примерно за 90 минут. У кого-нибудь есть способ ускорить его или сделать этот код более эффективным? Я также хотел бы записать только имена файлов в списке.
string lines = (listBox1.Items.ToString());
string sourcefolder1 = textBox1.Text;
string destinationfolder = (@"C:\anfiles");
using (StreamWriter output = new StreamWriter(destinationfolder + "\\" + "MasterANN.txt"))
{
string[] files = Directory.GetFiles(textBox1.Text, "*.txt");
foreach (string file in files)
{
FileInfo file_info = new FileInfo(file);
output.WriteLine(file_info.Name);
}
}
Замедление состоит в том, что он пишет по 1 строке за раз.
Требуется около 13-15 минут, чтобы получить все необходимые файлы для записи.
Следующие 75 минут создают файл.