В основном мне нужно взять текстовый файл, такой как:
Фред
Берни
Генри
и сможете прочитать их из файла в порядке
Генри
Берни
Fred
Фактический файл, из которого я читаю, имеет размер> 30 МБ, и было бы не совсем идеальным решением прочитать весь файл, разбить его на массив, перевернуть массив и затем перейти оттуда. Это занимает слишком много времени. Моя конкретная цель - найти первое вхождение строки (в данном случае это «InitGame») и затем вернуть начало позиции начала этой строки.
Я делал что-то подобное в python раньше. Мой метод состоял в том, чтобы искать в конце файла - 1024, затем читать строки до тех пор, пока я не дошел до конца, затем искать еще 1024 из моей предыдущей начальной точки и, используя tell (), я бы остановился, когда доберусь до предыдущего отправная точка. Поэтому я читал эти блоки в обратном направлении от конца файла до тех пор, пока не нашел нужный текст.
Пока что у меня есть куча времени, чтобы делать это на Java. Любая помощь будет принята с благодарностью, и если вы живете недалеко от Балтимора, она может даже привести к тому, что вы получите свежее испеченное печенье.
Спасибо!
Дополнительная информация:
Мне нужно искать в обратном направлении, потому что файл, который я читаю, является лог-файлом для игры, для которой я размещаю сервер (это | err | сервер от городского террора. Посмотрите его). В лог-файл записывается каждое событие, которое происходит в игре, и затем моя программа будет анализировать каждое событие, обрабатывать его и затем воздействовать на него (например, он отслеживает выстрелы в голову людей, а также автоматически пинает людей, которые находятся в d-bag). ). Мне нужно вернуться к самой последней записи InitGame, чтобы я мог создать экземпляр всех объектов игрока и позаботиться обо всем остальном, что нужно было позаботиться с самого начала этой игры. В файле есть сотни событий InitGame, но я хочу последнее. Если есть лучший способ сделать это, не требующий поиска в обратном направлении, пожалуйста, дайте мне знать.
Спасибо