У меня есть текстовый файл, содержащий несколько "записей" внутри него. Каждая запись содержит имя и набор чисел в качестве данных.
Я пытаюсь создать класс, который будет читать файл, представлять только имена всех записей, а затем разрешать пользователю выбирать, какие данные записи он/она хочет.
В первый раз, когда я просматриваю файл, я только читаю имена заголовков, но я могу отслеживать "позицию" в файле, где находится заголовок. Мне нужен произвольный доступ к текстовому файлу, чтобы искать начало каждой записи после того, как пользователь запросит ее.
Мне нужно сделать это так, потому что файл слишком велик для полного чтения в памяти (1 ГБ +) с другими требованиями к памяти приложения.
Я попытался использовать класс .NET StreamReader для выполнения этого (что обеспечивает очень удобную функциональность "ReadLine", но невозможно зафиксировать истинную позицию файла (позиция в свойстве BaseStream перекошена из-за буфера, который использует класс).
Нет ли простого способа сделать это в .NET?