Leer la enésima línea de un archivo en Java

Leer la enésima línea de un archivo en Java
En Java, puede haber situaciones en las que el programador necesita acceder a contenido limitado desde los registros contenidos. Por ejemplo, utilizando los datos con respecto a los requisitos de la aplicación. En tales casos, leyendo el "EnésimoLa línea de un archivo en Java disminuye la molestia del desarrollador y les permite acceder y utilizar los recursos actuales de manera efectiva.

Este blog te guiará para leer el "EnésimoLínea de un archivo en Java.

Cómo leer la enésima línea de un archivo en Java?

El "Enésimo"La línea de un archivo en Java se puede leer utilizando el combinado"Caminos.conseguir()","readalllines ()", y "conseguir()"Métodos, o el"Listador buffered"Enfoque (para Java 7). Los "caminos.El método get () ”transforma una secuencia de cadenas en una instancia de ruta. El método "ReadallLines ()" ofrece una lista de cadenas donde cada cadena es una línea de texto en el archivo particular y el método "get ()" obtiene la cadena para la línea particular.

Antes de dirigirse a los ejemplos, asegúrese de importar los siguientes paquetes para trabajar con archivos y habilitar el Java "E/S (entrada/salida)"Operaciones:

importar java.IO.Ioexception;
importar java.NiO.archivo.Archivos;
importar java.NiO.archivo.Caminos;

Ejemplo 1: Leer la enésima línea desde un archivo pequeño en Java

En este ejemplo, la línea especificada se puede leer desde el "archivo pequeño"Al obtener su ruta (archivo):

clase pública Fileline
public static void main (string args [])
int nline = 2;
intentar
String data = archivos.Readalllines (rutas.Get ("Readfile.TXT")).Get (nline);
Sistema.afuera.println (datos);

Catch (ioException excepto)
Sistema.afuera.println (excepto);

En este fragmento de código, aplique los siguientes pasos:

  • En primer lugar, inicialice el entero indicado que representa la línea de archivo que se lee.
  • En el "intentar"Bloque, aplique el combinado"readalllines ()","Caminos.conseguir()", y "conseguir()"Métodos para leer la línea pasada especificada desde el archivo proporcionado.
  • Por último, muestre los datos en la línea particular en el archivo y haga frente a la excepción probable especificada en el "atraparBloque, si es que hay.

Producción

En este resultado, se puede observar que la línea correspondiente, yo.mi., "2"En el archivo se lee en consecuencia.

Nota: La numeración de línea en el archivo es idéntica al enfoque de indexación ya que la primera línea se refiere a la posición "0".

Importe el siguiente paquete adicional antes de dirigirse al siguiente ejemplo para trabajar con "corrientes":

importar java.utilizar.arroyo.*;

Ejemplo 2: Leer la enésima línea de un archivo grande en Java

El "saltar()El método "salta desde el inicio del archivo hasta el número especificado de líneas y el" "findFirst ()El método "corresponde al primer elemento de flujo. Este ejemplo aplica estos métodos para leer la línea especificada de un archivo grande en su lugar:

clase pública fileline2
public static void main (string args [])
int nline = 17;
Prueba (transmisión readLines = archivos.líneas (caminos.Obtener ("Gran File.TXT")))
Línea de cadena = ReadLines.Skip (nline).findFirst ().conseguir();
Sistema.afuera.println (línea);

Catch (ioException excepto)
Sistema.afuera.println (excepto);

Según las líneas de código anteriores:

  • Del mismo modo, inicialice la línea establecida que se lee desde el archivo.
  • Después de eso, acceda al archivo especificado por su ruta y omita a la línea especificada y devuelva el valor de cadena correspondiente.
  • Finalmente, muestre la línea de archivo invocada y maneje de manera similar la excepción.

Producción

En este resultado, se puede analizar que la línea correspondiente del archivo grande se recupera en consecuencia.

Leer un archivo grande

En este archivo, el "EnésimoLínea, yo.mi., "17"Se resalta para garantizar que el contenido del archivo coincida con el resultado generado.

Incluya los siguientes paquetes adicionales en el siguiente ejemplo para leer el texto de un "transmisión de entrada de carácter":

importar java.IO.FileReader;
importar java.IO.BufferedReader;

Ejemplo 3: Leer la enésima línea de un archivo en Java 7

El "Listador buffered"Lee el texto del"transmisión basada en personajes". El siguiente ejemplo elabora al leer el archivo en particular en Java 7 utilizando el objeto BufferedReader:

clase pública fileline2
public static void main (string args [])
int nline = 1;
Pruebe (BufferedReader Read = New BufferedReader (New FileReader ("Readfile.TXT")))
para (int i = 0; i < nLine; i++)
leer.readline ();
Línea de cadena = leer.readline ();
Sistema.afuera.println (línea);

Catch (ioException excepto)
Sistema.afuera.println (excepto);

En el bloque de código anterior:

  • Del mismo modo, inicialice el número de línea que se refiere al contenido del archivo.
  • Ahora, en su definición, apunte al archivo que debe leerse y abrirlo para leer usando el "BufferedReader ()" acercarse.
  • Después de eso, itera a lo largo del contenido del archivo Línea por línea a través del "Readline ()Método "hasta la línea especificada y registre el contenido con el número de línea especificado en el archivo.
  • Por último, hacer frente a la excepción especificada.

Producción

Este resultado significa que se cumple el requisito deseado.

Conclusión

El "Enésimo"La línea de un archivo en Java se puede leer utilizando el combinado"Caminos.conseguir()","readalllines ()", y "conseguir()"Métodos, o el"Listador buffered"Enfoque en Java 7. El contenido se puede leer en ambos casos de que el archivo sea pequeño o grande. Este blog te guió para leer el "EnésimoLínea de un archivo en Java.