Clase Java BufferedReader
Clase Java BufferedReader
En este tutorial, aprenderemos sobre Java BufferedReader y sus métodos con la ayuda de ejemplos.
El BufferedReader
clase del java.io
El paquete se puede usar con otros lectores para leer datos (en caracteres) de manera más eficiente.
Extiende la clase abstracta Reader
.
" "
Funcionamiento de BufferedReader
El BufferedReader
mantiene un búfer interno 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 con el disco. Es por eso que leer caracteres es más rápido usando BufferedReader
.
Crear un BufferedReader
Para crear un BufferedReader
, debemos importar el java.io.BuferedReader
paquete primero. 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
llamado búfer con el FileReader
llamado archivo .
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
El BufferedReader
la 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 longitud del lector y se almacena en la matriz especificada a partir de la posición inicio
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
Data in the file: This is a line of text inside the file.
En el ejemplo anterior, hemos creado un lector almacenado en búfer llamado input . El lector almacenado en búfer está vinculado con input.txt archivo.
FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);
Aquí, hemos usado el read()
método para leer una matriz de caracteres del búfer interno del lector almacenado 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
Data after skipping 5 characters: is a line of text inside the file.
En el ejemplo anterior, hemos utilizado el skip()
método para saltar 5 caracteres del lector de archivos. Por lo tanto, los caracteres 'T'
, 'h'
, 'i'
, 's'
y ' '
se omiten del archivo original.
Método cerrar()
Para cerrar el lector almacenado en búfer, podemos usar el close()
método. Una vez que el close()
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 del lector donde se fijó la marca |
Para obtener más información, visite Java BufferedReader (documentación oficial de Java).
Java