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

Dominando Java BufferedReader: Manejo Eficiente de Flujos de Caracteres

Clase BufferedReader de Java

Descubre cómo la clase BufferedReader mejora el rendimiento de I/O en Java con ejemplos prácticos y explicaciones detalladas de métodos.

La clase BufferedReader, parte del paquete java.io, envuelve otro Reader para proporcionar entrada de caracteres eficiente. Al leer bloques de datos en un búfer interno, minimiza las costosas operaciones de I/O de disco.

Cómo Funciona BufferedReader

Internamente, BufferedReader mantiene un búfer de 8,192 caracteres (tamaño por defecto). Durante una operación de lectura, un bloque de caracteres se obtiene del archivo fuente y se almacena en este búfer. Las lecturas subsiguientes extraen caracteres del búfer uno por uno, reduciendo drásticamente el número de accesos a disco y acelerando el I/O.

Crear un BufferedReader

Para usar BufferedReader, impórtalo desde java.io y envuelve cualquier implementación de Reader, como FileReader:

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

FileReader archivo = new FileReader("ejemplo.txt");
BufferedReader reader = new BufferedReader(archivo);

También puedes especificar un tamaño de búfer personalizado:

BufferedReader reader = new BufferedReader(archivo, 16384); // búfer de 16KB

Métodos Principales de BufferedReader

read()

Ejemplo: leyendo todo el contenido de input.txt en un array de caracteres:

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

class Main {
    public static void main(String[] args) {
        char[] buffer = new char[100];
        try (FileReader archivo = new FileInputStream("input.txt");
             BufferedReader reader = new BufferedReader(archivo)) {
            reader.read(buffer);
            System.out.println("Datos en el archivo:\n" + new String(buffer));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Salida

Datos en el archivo: Esta es una línea de texto dentro del archivo.

skip()

El método skip(long n) descarta los siguientes n caracteres del flujo:

reader.skip(5); // salta "Esta "

Después de saltar, leer el contenido restante produce:

Datos después de saltar 5 caracteres: es una línea de texto dentro del archivo.

close()

Siempre cierra el reader para liberar recursos del sistema:

reader.close();

Otros Métodos Útiles

MétodoDescripción
ready()Verifica si el flujo está listo para leerse sin bloqueo.
mark(int readAheadLimit)Marca la posición actual en el flujo.
reset()Restablece el flujo a la marca más reciente.

Para una referencia completa, visita la documentación oficial de Java.

Java

  1. Palabra clave final en Java: Variables, métodos y clases
  2. Operador instanceof en Java: Guía completa
  3. Dominando la herencia en Java: Conceptos, tipos y ejemplos prácticos
  4. Entendiendo las clases anidadas estáticas en Java: Uso, diferencias y ejemplos
  5. Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
  6. Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
  7. Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución
  8. Dominando ObjectOutputStream de Java: Serialización, Métodos y Ejemplos Prácticos
  9. Dominando Java Generics: Construyendo Código Reutilizable y Type-Safe
  10. Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación
  11. Lectura de archivos en Java con BufferedReader – Guía práctica con ejemplos