Entretanto gostaria que ao invés de utilizar o nextLine(), fosse direto para uma determinada linha. Por exemplo, começar a ler o arquivo a partir da linha 1000 até a 1500.
Como poderia fazer isso?
Pois é, arquivos-texto têm esse problema - para você ir até a linha 1000, a menos que você tenha preparado antes um arquivo de índice, você precisa passar por todas as linhas anteriores (da 1 até a 999), descartando o que foi lido
(Infelizmente as classes *Reader não têm disponível um método como o “seek” do RandomAccessFile, o que torna difícil até usar o tal arquivo de índice que lhe sugeri).
F
FoxMurder
entanglement:
Pois é, arquivos-texto têm esse problema - para você ir até a linha 1000, a menos que você tenha preparado antes um arquivo de índice, você precisa passar por todas as linhas anteriores (da 1 até a 999), descartando o que foi lido
(Infelizmente as classes *Reader não têm disponível um método como o “seek” do RandomAccessFile, o que torna difícil até usar o tal arquivo de índice que lhe sugeri).
Mas como eu poderia fazer esse tipo de índice sem percorrer todo o arquivo?
E
entanglement
Só recomendaria ter um índice se você tiver um arquivo-texto enorme e que você vá ler frequentemente.
Por exemplo, digamos que você vá criar um programa que visualize arquivos de log de tamanhos muito grandes (digamos mais que 1 GB). Se você quiser ir para a linha 250.000 desse arquivo, por exemplo, é melhor que você indexe antes (na hora que você for carregar o arquivo na primeira vez), porque você não vai conseguir ler o arquivo totalmente em memória (nem faz sentido).