Самый быстрый / самый безопасный поиск / анализ файла?
Наc:
У меня десятки тысяч*.foobar
файлы. Они в самых разных местах (то есть в subdirs). Эти файлы имеют размер примерно 1 - 64 КБ и текст.
у меня естьclass Foobar(string fileContents)
что сильно набирает эти.foobar
файлы.
Моя задача состоит в том, чтобы получить список всех*.foobar
файлы наc:
, представленный в виде массиваFoobar
объекты. Какой самый быстрый способ сделать это?
Мне интересно узнать, есть ли лучший способ (несомненно), чем мой первый подход, который следует, и если у этого подхода есть какие-либо потенциальные проблемы (например, проблемы параллелизма ввода-вывода, вызывающие исключения?):
var files = Directory.EnumerateFiles
(rootPath, "*.foobar", SearchOption.AllDirectories);
Foobar[] foobars =
(
from filePath in files.AsParallel()
let contents = File.ReadAllText(filePath)
select new Foobar(contents)
)
.ToArray();