Я работаю в C # и у меня большой текстовый файл (75 МБ). Я хочу сохранить строки, соответствующие регулярному выражению
Я попытался прочитать файл с помощью потокового ридера и ReadToEnd, но это занимает 400 МБram
и при повторном использовании создает исключение нехватки памяти.
Затем я попытался с помощью File.ReadAllLines ():
string[] lines = File.ReadAllLines("file");
StringBuilder specialLines = new StringBuilder();
foreach (string line in lines)
if (match reg exp)
specialLines.append(line);
это все замечательно, но когдамоя функция завершает занятую память, не очищается, и у меня остается 300 МБ используемой памяти, только при вызове функции и выполнении строки: string [] lines = File.ReadAllLines ("file");Я вижу, как память очищается до 50 МБ, отдаю или беру, а затем перераспределяю обратно в 200 МБ
Как очистить эту память или получить нужные мне строки другим способом?