Разбить список на несколько частей

Jeka124

Client
Регистрация
19.09.2020
Сообщения
122
Благодарностей
3
Баллы
18
Есть список почти 10 гб, оперативной памяти всего 16 гб, никак не могу разбить список так как не хватает оперативки, зенка виснет, пытался через EmEditor но он тоже вылетает. Есть какие либо идеи как это сделать?
 

deskuznetsov

Client
Регистрация
29.08.2019
Сообщения
524
Благодарностей
361
Баллы
63
C#:
var list = new List<string>();


var fileSuffix = 0;





using (var file = File.OpenRead(project.Variables["put_big_txt_file"].Value))


using (var reader = new StreamReader(file))


{


    while (!reader.EndOfStream)


    {


        list.Add(reader.ReadLine());





        if (list.Count >= 3000000)


        {


            File.WriteAllLines(project.Variables["folder"].Value + @"\split" + (++fileSuffix) + ".txt", list);


            //File.WriteAllLines(project.Directory + @"\split\split" + (++fileSuffix) + ".txt", list);


            list = new List<string>();


        }


    }


}





File.WriteAllLines(project.Variables["folder"].Value + @"\split" + (++fileSuffix) + ".txt", list);

Этот код разбивает один большой txt на много маленьких.
if (list.Count >= 3000000) - поиграйся с настройкой, подбери нужного тебе размера
 
  • Спасибо
Реакции: Jeka124

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)