Java BufferedReader (con ejemplos)

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

La BufferedReaderclase del java.iopaquete se puede usar con otros lectores para leer datos (en caracteres) de manera más eficiente.

Extiende la clase abstracta Reader.

Trabajo de BufferedReader

El BufferedReadermantiene un interno de memoria intermedia de 8192 caracteres .

Durante la operación de lectura en BufferedReader, se lee un fragmento de caracteres del disco y se almacena en el búfer interno. Y desde el búfer interno, los caracteres se leen individualmente.

Por lo tanto, se reduce el número de comunicaciones al disco. Es por eso que la lectura de caracteres es más rápida BufferedReader.

Crear un lector de búfer

Para crear un BufferedReader, java.io.BuferedReaderprimero debemos importar el paquete. Una vez que importamos el paquete, así es como podemos crear el lector.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

En el ejemplo anterior, hemos creado un BufferedReaderbúfer con FileReadernombre con el archivo con nombre.

Aquí, el búfer interno del BufferedReadertiene el tamaño predeterminado de 8192 caracteres. Sin embargo, también podemos especificar el tamaño del búfer interno.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

El búfer ayudará a leer los caracteres de los archivos más rápidamente.

Métodos de BufferedReader

La BufferedReaderclase proporciona implementaciones para diferentes métodos presentes en Reader.

Método read ()

  • read() - lee un solo carácter del búfer interno del lector
  • read(char() array) - lee los caracteres del lector y los almacena en la matriz especificada
  • read(char() array, int start, int length) - lee el número de caracteres igual a la longitud del lector y los almacena en la matriz especificada comenzando desde el inicio de la posición

Por ejemplo, supongamos que tenemos un archivo llamado input.txt con el siguiente contenido.

 This is a line of text inside the file. 

Intentemos leer el archivo usando BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Salida

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

En el ejemplo anterior, hemos creado un lector con búfer llamado input. El lector almacenado en búfer está vinculado con el archivo input.txt .

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

Aquí, hemos utilizado el read()método para leer una matriz de caracteres del búfer interno del lector en búfer.

Método skip ()

Para descartar y omitir el número especificado de caracteres, podemos usar el skip()método. Por ejemplo,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Salida

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

En el ejemplo anterior, hemos utilizado el skip()método para omitir 5 caracteres del lector de archivos. Por lo tanto, los caracteres 'T', 'h', 'i', 's'y ' 'se omiten del archivo original.

Método close ()

Para cerrar el lector en búfer, podemos usar el close()método. Una vez close()que se llama al método, no podemos usar el lector para leer los datos.

Otros métodos de BufferedReader

Método Descripción
ready() comprueba si el lector de archivos está listo para ser leído
mark() marcar la posición en el lector hasta la que se han leído los datos
reset() devuelve el control al punto en el lector donde se estableció la marca

Para obtener más información, visite Java BufferedReader (documentación oficial de Java).

Articulos interesantes...