Introducción
En este artículo, aprenderás sobre diferentes formas de usar Java para leer el contenido de un archivo línea por línea. Este artículo utiliza métodos de las siguientes clases de Java: java.io.BufferedReader
, java.util.Scanner
, Files.readAllLines()
y java.io.RandomAccessFile
.
Lectura de un archivo línea por línea usando BufferedReader
Puedes usar el método readLine()
de java.io.BufferedReader
para leer un archivo línea por línea como una cadena de texto. Este método devuelve null
cuando se alcanza el final del archivo.
Aquí tienes un ejemplo de programa para leer un archivo línea por línea con BufferedReader
:
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("sample.txt"));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// leer siguiente línea
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continúa tu aprendizaje con la Documentación de la API de BufferedReader
(Java SE 8).
Leyendo un archivo línea por línea usando Scanner
Puedes usar la clase Scanner
para abrir un archivo y luego leer su contenido línea por línea.
Aquí tienes un ejemplo de programa para leer un archivo línea por línea con Scanner
:
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Continúa tu aprendizaje con la Documentación de la API de Scanner
(Java SE 8).
Leyendo un archivo línea por línea usando Files
java.nio.file.Files
es una clase de utilidad que contiene varios métodos útiles. El método readAllLines()
puede ser usado para leer todas las líneas del archivo en una lista de cadenas.
Aquí tienes un ejemplo de programa para leer un archivo línea por línea con Files
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("sample.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continúa tu aprendizaje con el Files
API Doc (Java SE 8).
Leyendo un archivo línea por línea usando RandomAccessFile
Puedes usar RandomAccessFile
para abrir un archivo en modo de lectura y luego usar su método readLine
para leer un archivo línea por línea.
Aquí tienes un ejemplo de programa para leer un archivo línea por línea con RandomAccessFile
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("sample.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continúa tu aprendizaje con el RandomAccessFile
API Doc (Java SE 8).
Conclusión
En este artículo, aprendiste sobre diferentes formas de usar Java para leer el contenido de un archivo línea por línea.
Continúa tu aprendizaje con más tutoriales de Java.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line