English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (Queue)

Java Conjuntos Map

Java Conjuntos Set

Java Entrada/Salida (I/O)/O)

Lector Java/Writer

Temas de Java

Clase Java BufferedReader

En este tutorial, aprenderemos con ejemplos sobre Java BufferedReader y sus métodos.

La clase BufferedReader del paquete java.io puede utilizarse junto con otros lectores para leer datos de manera más eficiente (en unidades de caracteres).

Hereda de la clase abstracta Reader.

Cómo funciona BufferedReader

BufferedReader mantiene un búfer internodel8192búfer de caracteres.

Durante la operación de lectura en BufferedReader, se leerá una parte de los caracteres desde el disco y se almacenarán en el búfer interno. Y se leerán caracteres individualmente desde el búfer interno.

Por lo tanto, se reduce el número de comunicaciones con el disco. Esta es la razón por la que BufferedReader puede leer caracteres más rápido.

Crear un BufferedReader

Para crear un BufferedReader, primero debemos importar el paquete java.io.BufferedReader. Después de importar el paquete, podemos crear el lector.

//Crear un FileReader
FileReader file = new FileReader(String file);
//Crear un BufferedReader
BufferedReader buffer = new BufferedReader(file);

En el ejemplo anterior, creamos un BufferedReader llamado buffer y un FileReader llamado file.

En este caso, el tamaño predeterminado del búfer interno de BufferedReader es8192caracteres. Sin embargo, también podemos especificar el tamaño del búfer interno.

//Crear un BufferedReader con un búfer interno de tamaño especificado
BufferedReader buffer = new BufferedReader(file, int size);

El búfer ayudará a leer caracteres del archivo más rápidamente.

métodos de BufferedReader

La clase BufferedReader proporciona implementaciones para diferentes métodos de Reader.

método read()

  • read() - Leer un carácter desde el búfer del lector

  • read(char[] array) - Leer caracteres desde el lector y almacenarlos en el array especificado

  • read(char[] array, int start, int length)- Leer una cantidad de caracteres igual a length desde el lector y almacenarlos en el array especificado comenzando en la posición start

Por ejemplo, supongamos que tenemos un archivoinput.txtque contiene el siguiente contenido.

Esta es una línea de texto dentro del archivo.

Vamos a intentar leer el archivo usando BufferedReader.

import java.io.FileReader;
import java.io.BufferedReader;
class Main {
  public static void main(String[] args) {
    //Crear un array de caracteres
    char[] array = new char[100];
    try {
      //Crear FileReader
      FileReader file = new FileReader("input.txt");
      //Crear BufferedReader
      BufferedReader input = new BufferedReader(file);
      //leer caracteres
      input.read(array);
      System.out.println("Datos del archivo: ");
      System.out.println(array);
      //Cerrar reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Resultado de salida

datos del archivo:
Esta es una línea de texto dentro del archivo.

En el ejemplo anterior, creamos un lector de entrada llamado input. El lector de búfer está asociado coninput.txtenlace de archivo.

FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);

Aquí, usamos el método read() para leer un array de caracteres desde el búfer del lector de entrada.

método skip()

Para descartar y saltar una cantidad específica de caracteres, se puede usar el método skip(). Por ejemplo

import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
  public static void main(String args[]) {
    //Crear un array de caracteres
    char[] array = new char[100];
    try {
      //Supongamos que el archivo input.txt contiene el siguiente texto
      //Esta es una línea de texto dentro del archivo.
      FileReader file = new FileReader("input.txt");
      //Crear BufferedReader
      BufferedReader input = new BufferedReader(file);
      //saltar5caracteres
      input.skip(5);
      //leer caracteres
      input.read(array);
      System.out.println("saltar"}5caracteres después de los datos: ");
      System.out.println(array);
      //Cerrar reader
      input.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Resultado de salida

saltar5caracteres después de los datos:
es una línea de texto dentro del archivo.

En el ejemplo anterior, usamos el método skip() para saltar desde el lector de archivos5caracteres. Por lo tanto, los caracteres 'T', 'h', 'i', 's' y ' ' se saltan desde el archivo original.

Método close()

Para cerrar el lector con buffer, podemos usar el método close(). Después de llamar al método close(), no podremos usar el lector para leer datos.

Otros métodos de BufferedReader

MétodoDescripción
ready()Verificar si el lector de archivos está listo para leer
mark()La posición de los datos ya leídos en el lector de marcas
reset()Restablecer la marca, regresar al lugar de la marca establecida en el lector