Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Lectura de archivos en Java con BufferedReader – Guía práctica con ejemplos

¿Cómo leer un archivo en Java?

Java ofrece una variedad de clases de E/S para operaciones de archivo. La forma más eficiente de leer archivos de texto es a través de java.io.BufferedReader, que envuelve un Reader de nivel inferior y bufferiza la entrada para reducir llamadas al sistema costosas.

¿Qué es BufferedReader en Java?

BufferedReader es una clase que lee texto de un flujo de entrada (como un archivo) bufferizando caracteres. Esto permite lectura rápida, línea por línea o bloque a bloque, sin hacer una llamada al sistema por cada carácter.

Como métodos como read() en FileReader o InputStreamReader pueden ser costosos, envolverlos en un BufferedReader es una práctica común para mejorar el rendimiento.

Un patrón de uso típico se ve así:

BufferedReader reader = new BufferedReader(new FileReader("D:\\DiarioDuke.txt"));

Aquí el archivo se abre y bufferiza para lectura eficiente.

Para mostrar el contenido del archivo, itera a través de cada línea hasta alcanzar el final del archivo:

String lineaActual;
while ((lineaActual = reader.readLine()) != null) {
    System.out.println(lineaActual);
}

El bucle termina cuando readLine() devuelve null, indicando que se ha alcanzado el final del archivo.

Ejemplo de BufferedReader (Pre-JDK 7)

A continuación se muestra un ejemplo completo, listo para producción, que demuestra mejores prácticas para manejo de recursos:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class EjemploLeerArchivo {
    public static void main(String[] args) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader("D:\\DiarioDuke.txt"));
            String lineaActual;
            while ((lineaActual = reader.readLine()) != null) {
                System.out.println(lineaActual);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}

El bloque finally garantiza que el reader se cierre, liberando recursos del sistema incluso si ocurre una excepción.

Ejemplo de BufferedReader (JDK 7+ con Try-With-Resources)

Con Java 7 y posterior, la sentencia try-with-resources simplifica la limpieza. El siguiente ejemplo muestra la misma lógica de forma más concisa:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class EjemploLeerArchivoJDK7 {
    private static final String NOMBRE_ARCHIVO = "D:\\DiarioDuke.txt";
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader(NOMBRE_ARCHIVO))) {
            String lineaActual;
            while ((lineaActual = br.readLine()) != null) {
                System.out.println(lineaActual);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Usar try-with-resources cierra automáticamente el BufferedReader, haciendo el código más limpio y menos propenso a errores.

Java

  1. Dominando Java BufferedReader: Manejo Eficiente de Flujos de Caracteres
  2. Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación
  3. Java Hola Mundo: Guía paso a paso para escribir tu primer programa Java
  4. Encapsulamiento en Java: Guía completa con ejemplo práctico
  5. Método Java String length(): Cómo obtener el tamaño de un String (Ejemplo)
  6. Entendiendo Java String.charAt(): Sintaxis, tipo de retorno, excepciones y ejemplo práctico
  7. Dominando el método compareTo() de Java String: Sintaxis, casos de uso y ejemplos prácticos
  8. Método Java String.contains(): Cómo comprobar subcadenas – Ejemplos prácticos
  9. Dominando Java String.endsWith(): Cómo comprobar sufijos de cadena con ejemplos
  10. Algoritmo Insertion Sort en Java: Ejemplo Claro y Guía Paso a Paso
  11. Selection Sort en Java: Ejemplo Paso a Paso y Código Completo