Я обнаружил, что застрял в определенной проблеме. В настоящее время я пишу программу на C#, которая читает в .txts. Эти .txts постоянно меняются, так как в контент добавляется к ним.Запоминание последней позиции в TXT-файле на C#?
Я создал FileSystemWatcher, который передает имя файла методу, читаемому в моем txt. Теперь я хотел бы иметь что-то среднее между ними, которое запоминает последнюю позицию, которую я прочитал в txt, а затем только передает новую часть.
Он также должен помнить об этом при следующем запуске программы.
Я думал о сохранении последней строки в xml или txt, а затем позволяя моему методу искать этот файл для последней строки, отмеченной там.
Единственный похожий вопрос, который я нашел, это: Read log file from last read position. Однако я этого не понимаю.
В любом случае, как это сделать более эффективно или элегантно?
Редактировать: Я уже связал предложенный вопрос и нет, он не похож на мой. Я хочу постоянно хранить информацию о том, как далеко я попадал в .txt, а не только во время выполнения.
Является ли ваша программа закрытия в период между чтения файла журнала? Если это не так, вам не нужно сохранять это значение в файл. – BenVlodgi
«Словарь' кажется разумным вариантом. Вы холодно используете нижний обведенный путь к файлу в качестве ключа и последней позиции чтения в качестве значения. –
InBetween
Это звучит как два независимых вопроса: 1) вы ищете способ прочитать только часть файла, учитывая известное смещение (stream.seek может это сделать) 2) вы хотите сохранить произвольное значение между перезапусками. (Есть десятки способов сделать это: Ini-file, registry, app.config, возможно, даже альтернативный поток данных NTFS) – HugoRune