Lendo a enésima linha de um arquivo em java

Lendo a enésima linha de um arquivo em java
Em Java, pode haver situações em que o programador precisa acessar conteúdo limitado dos registros contidos. Por exemplo, utilizando os dados em relação aos requisitos de aplicativo. Nesses casos, lendo o “Nth”A linha de um arquivo em Java diminui o aborrecimento para o desenvolvedor e permite que eles acessem e utilizem os recursos atuais efetivamente.

Este blog o guiará sobre a leitura do “Nth”Linha de um arquivo em java.

Como ler a enésima linha de um arquivo em java?

O "Nth”A linha de um arquivo em Java pode ser lida usando o combinado“Caminhos.pegar()","readalllines ()", e "pegar()”Métodos, ou os“BufferredReader”Abordagem (para Java 7). Os “caminhos.o método get () ”transforma uma sequência de strings em uma instância do caminho. O método "readalllines ()" fornece uma lista de strings em que cada string é uma linha de texto no arquivo específico e o método "get ()" busca a string para a linha específica.

Antes de ir para os exemplos, importe os pacotes a seguir para trabalhar com arquivos e ativar o java “E/S (entrada/saída)" operações:

importar java.io.Ioexception;
importar java.NIO.arquivo.Arquivos;
importar java.NIO.arquivo.Caminhos;

Exemplo 1: lendo a enésima linha de um pequeno arquivo em java

Neste exemplo, a linha especificada pode ser lida do “Pequeno arquivo”Ao buscar seu caminho (arquivo):

classe pública Filinha
public static void main (string args [])
int nline = 2;
tentar
Dados da string = arquivos.ReadAlllines (Caminhos.Get ("ReadFile.TXT")).obtenha (nline);
Sistema.fora.println (dados);

Catch (ioexception, exceto)
Sistema.fora.println (exceto);

Neste trecho de código, aplique as seguintes etapas:

  • Em primeiro lugar, inicialize o número inteiro declarado representando a linha de arquivo a ser lida.
  • No "tentar”Bloco, aplique o combinado“readalllines ()“,“Caminhos.pegar()", e "pegar()”Métodos para ler a linha passada especificada do arquivo fornecido.
  • Por fim, exiba os dados em relação à linha específica no arquivo e lide com a provável exceção especificada no “pegar”Bloco, se houver.

Saída

Nesse resultado, pode -se observar que a linha correspondente, eu.e., ““2”No arquivo é lido de acordo.

Observação: A numeração da linha no arquivo é idêntica à abordagem de indexação, já que a primeira linha se refere à posição “0”.

Importar o pacote adicional abaixo antes de ir para o próximo exemplo para trabalhar com “fluxos”:

importar java.util.fluxo.*;

Exemplo 2: lendo a enésima linha de um grande arquivo em java

O "pular()”O método salta desde o início do arquivo para o número especificado de linhas e o“Findfirst ()”O método corresponde ao primeiro elemento de fluxo. Este exemplo aplica esses métodos para ler a linha especificada de um arquivo grande:

classe pública Fileleline2
public static void main (string args [])
int nline = 17;
tente (stream ReadLines = Arquivos.linhas (caminhos.Get ("LargeFile.TXT")))
Linha de string = linhas de leitura.pular (nline).Findfirst ().pegar();
Sistema.fora.println (linha);

Catch (ioexception, exceto)
Sistema.fora.println (exceto);

De acordo com as linhas de código acima:

  • Da mesma forma, inicialize a linha declarada para ser lida no arquivo.
  • Depois disso, acesse o arquivo especificado por seu caminho e pule para a linha especificada e retorne o valor da string correspondente.
  • Por fim, exiba a linha de arquivo invocada e lide da mesma forma a exceção.

Saída

Nesse resultado, pode -se analisar que a linha correspondente do arquivo grande é recuperada de acordo.

Leia o arquivo grande

Neste arquivo, o “Nth“Linha eu.e., ““17”É destacado para garantir que o conteúdo do arquivo seja correspondido ao resultado gerado.

Inclua os seguintes pacotes adicionais no próximo exemplo para ler o texto de um “fluxo de entrada de caractere”:

importar java.io.FileReader;
importar java.io.BufferredReader;

Exemplo 3: Lendo a enésima linha de um arquivo em Java 7

O "BufferredReader”Lê o texto do“fluxo baseado em caracteres”. O exemplo a seguir elabora a leitura do arquivo específico em Java 7 usando o objeto BufferErader:

classe pública Fileleline2
public static void main (string args [])
int nline = 1;
Tente (BufferredReader Read = New BufferredReader (novo FileReader ("ReadFile.TXT")))
para (int i = 0; i < nLine; i++)
ler.Leia a linha();
Linha de string = lida.Leia a linha();
Sistema.fora.println (linha);

Catch (ioexception, exceto)
Sistema.fora.println (exceto);

No bloco de código acima:

  • Da mesma forma, inicialize o número da linha que se refere ao conteúdo do arquivo.
  • Agora, em sua definição, aponte para o arquivo que precisa ser lido e abri -lo para leitura usando o “BufferredReader ()" abordagem.
  • Depois disso, itera ao longo da linha de conteúdo de arquivo por linha através do “Leia a linha()”Método até a linha especificada e registrar o conteúdo em relação ao número da linha especificado no arquivo.
  • Por fim, lide com a exceção especificada.

Saída

Este resultado significa que o requisito desejado é atendido.

Conclusão

O "Nth”A linha de um arquivo em Java pode ser lida usando o combinado“Caminhos.pegar()","readalllines ()", e "pegar()”Métodos, ou os“BufferredReader”Abordagem em Java 7. O conteúdo pode ser lido nos dois casos do arquivo ser pequeno ou grande. Este blog o guiou a ler o “Nth”Linha de um arquivo em java.