@Iv_and_S
Добрый день.
Технологии : C# , .net 4.7. (.net core нету и возможности добавить нету).
Большой массив файлов на диске(десятки тысяч), надо каждый файл открыть(стороннее ПО — не суть), считать данные, закрыть. Плюс файлы надо фильтровать по расширению. Корневая директория одна.
использовать Directory.GetFiles нельзя ибо огромный массив , будет много потреблять памяти.
как понимаю нужно что то типо того. , т.е. использовать вызовы Win API.
м.б. есть лучше решение?
Технологии : C# , .net 4.7. (.net core нету и возможности добавить нету).
Большой массив файлов на диске(десятки тысяч), надо каждый файл открыть(стороннее ПО — не суть), считать данные, закрыть. Плюс файлы надо фильтровать по расширению. Корневая директория одна.
использовать Directory.GetFiles нельзя ибо огромный массив , будет много потреблять памяти.
как понимаю нужно что то типо того. , т.е. использовать вызовы Win API.
м.б. есть лучше решение?
Решения вопроса 1
@Griboks
Как уже написали, специально для таких случав придумали Directory.EnumerateFiles, можно даже параллельно обработать (если CPU bounded):
Parallel.ForEach(Directory.EnumerateFiles(path, "*.txt"), Console.WriteLine); // flood stdout
Комментировать
Ответы на вопрос 0