Если это текстовые файлы, у меня есть ReverseLineReader
(или что-то подобное) в MiscUtil , который может оказаться полезным. Он поддерживает только определенные кодировки (Unicode, UTF-8 или любую фиксированную однобайтовую кодировку), но, надеюсь, этого вам будет достаточно.
Он возвращает строки через итератор, поэтому вы можете использовать LINQ, чтобы ограничить количество прочитанных файлов и т. Д., И они читаются лениво.
Полагаю, вы на самом деле не хотите читать весь файл? Если вы это сделаете, я бы предложил использовать File.ReadAllLines
, а затем реверсировать результирующий массив:)