Как итерироваться по большому массиву файлов?



@Iv_and_S

Добрый день.
Технологии : C# , .net 4.7. (.net core нету и возможности добавить нету).
Большой массив файлов на диске(десятки тысяч), надо каждый файл открыть(стороннее ПО — не суть), считать данные, закрыть. Плюс файлы надо фильтровать по расширению. Корневая директория одна.
использовать Directory.GetFiles нельзя ибо огромный массив , будет много потреблять памяти.
как понимаю нужно что то типо того. , т.е. использовать вызовы Win API.
м.б. есть лучше решение?


Решения вопроса 1



@Griboks Куратор тега C#

Как уже написали, специально для таких случав придумали Directory.EnumerateFiles, можно даже параллельно обработать (если CPU bounded):

Parallel.ForEach(Directory.EnumerateFiles(path, "*.txt"), Console.WriteLine); // flood stdout

Комментировать

Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *