Wie Textdatei als RandomAccessFile lesen?

Hallo Java-Experten.

Habe folgende Frage: Gibt es eine Möglichkeit, beim Einlesen einer Textdatei mittels BufferedReader / x.readline() die absolute Position ab Dateianfang (Displacement) der Zeilen zu bekommen?
Die Textdatei enthält pro Zeile am Anfang ein Schlüsselwort, mit dem man die Zeile finden und bearbeiten kann. Bisher habe ich die ganze Textdatei in eine HashMap oder TreeMap (Schlüssel 1. Wort) eingelesen. Dies funktioniert auch, wird aber bei größeren Textdateien (> 100 MB) wg. Speicherverbrauch nicht mehr praktikabel.
Nun möchte ich in die HashMap nur noch die Schlüsselworte mit dem Displacement speichern und dann bei Bedarf die ganze Zeile nachlesen.

Hat jemand eine Idee, ob und wie das möglich wäre?

Gruß Michael