English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
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.
La clase BufferedReader proporciona implementaciones para diferentes métodos de Reader.
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.
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.
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.
Método | Descripció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 |