En este tutorial, aprenderemos sobre Java BufferedReader y sus métodos con la ayuda de ejemplos.
La BufferedReader
clase del java.io
paquete 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 BufferedReader
mantiene 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.BuferedReader
primero 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 BufferedReader
búfer con FileReader
nombre con el archivo con nombre.
Aquí, el búfer interno del BufferedReader
tiene 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 BufferedReader
clase proporciona implementaciones para diferentes métodos presentes en Reader
.
Método read ()
read()
- lee un solo carácter del búfer interno del lectorread(char() array)
- lee los caracteres del lector y los almacena en la matriz especificadaread(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).