Java:
Lectura de un archivo de texto

Cómo hacerlo:

Empezamos con un ejemplo básico usando java.nio.file.Files para leer todas las líneas de un archivo:

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class ReadTextFile {
    public static void main(String[] args) {
        String filePath = "example.txt"; // Ruta al archivo de texto
        try {
            List<String> lines = Files.readAllLines(Paths.get(filePath));
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Salida de ejemplo:

Primera línea
Segunda línea
Tercera línea

Profundizando:

Históricamente, Java proporcionaba clases como FileReader y BufferedReader para leer archivos:

import java.io.BufferedReader;
import java.io.FileReader;

public class ReadTextFileLegacy {
    public static void main(String[] args) {
        String filePath = "example.txt";
        try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Con Java 8 se introdujo java.nio.file, ofreciendo una nueva manera de operar con archivos y directorios que es más moderna y eficiente en comparación a los métodos más antiguos. Además, para archivos grandes, es común usar Files.lines() que devuelve un Stream permitiendo operaciones más complejas de procesamiento en flujo.

Alternativas incluyen bibliotecas de terceros como Apache Commons IO o Google’s Guava, que simplifican aún más el manejo de archivos.

Detalles de implementación: al leer archivos, siempre maneja excepciones y codificaciones de caracteres. Usa try-with-resources para asegurar que el recurso de archivo se cierre apropiadamente después de su uso.

Ver También: