Sto lavorando a un prodotto software con un visualizzatore di file di registro integrato. Il problema è, è lento e instabile per i file molto grandi perché legge l'intero file in memoria quando si visualizza un file di registro. Sto volendo scrivere un nuovo visualizzatore di file di registro che risolva questo problema.Come scrivere un visualizzatore di file di testo Java per file di registro grandi
Quali sono le migliori pratiche per la scrittura di visualizzatori per file di testo di grandi dimensioni? In che modo gli editori come notepad ++ e VIM realizzano questo? Stavo pensando di usare un lettore di flusso di testo bidirezionale bufferizzato insieme a TableModel di Java. Sto pensando lungo le linee giuste e queste implementazioni sono disponibili per Java?
Modifica: conviene rivedere il file una volta per indicizzare le posizioni dell'inizio di ogni riga di testo in modo che si sappia dove cercare? Probabilmente avrò bisogno della quantità di linee, quindi probabilmente dovrò analizzare il file almeno una volta?
Edit2: Ho aggiunto la mia implementazione a una risposta di seguito. Per favore, commentalo o modificalo per aiutarmi/noi ad arrivare a un'implementazione di best practice o altrimenti a fornirti il tuo.
Grazie, ho visto anche RandomAccessFile oltre a FileChannel che può rivelarsi utile –