English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderemos sobre BufferedWriter de Java y sus métodos con ejemplos.
La clase BufferedWriter del paquete java.io puede utilizarse junto con otros escritores para escribir datos de manera más eficiente (en términos de caracteres).
Hereda de la clase abstracta Writer.
BufferedWriter mantiene un búfer internode8192búfer de caracteres.
Durante la operación de escritura, los caracteres se escribirán en el búfer interno en lugar del disco. Una vez que el búfer se llena o se cierra el escritor, todos los caracteres en el búfer se escribirán en el disco.
Por lo tanto, se reduce el número de comunicaciones con el disco. Es por eso que escribir caracteres con BufferedWriter es más rápido.
Para crear un BufferedWriter, primero debemos importar el paquete java.io.BufferedWriter. Después de importar el paquete, podemos crear el escritor con búfer.
//Crear FileWriter FileWriter file = new FileWriter(String name); //Crear BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
En el ejemplo anterior, creamos BufferedWriter llamado buffer y FileWriter llamado file.
En este caso, el tamaño predeterminado del búfer interno de BufferedWriter es8192caracteres. Sin embargo, también podemos especificar el tamaño del búfer interno.
//Crear un BufferedWriter con un búfer interno de tamaño especificado BufferedWriter buffer = new BufferedWriter(file, int size);
El búfer ayudará a escribir caracteres en el archivo de manera más eficiente.
La clase BufferedWriter proporciona implementaciones de diferentes métodos que existen en Writer.
write() - Escribir un carácter en el búfer interno del escritor
write(char[] array) - Escribir los caracteres del array especificado en el escritor
write(String data) - Escribir la cadena especificada en el escritor
import java.io.FileWriter; import java.io.BufferedWriter; public class Main { public static void main(String args[]) { String data = "Esta es la información en el archivo de salida"; try { //Crear FileWriter FileWriter file = new FileWriter("output.txt"); //Crear BufferedWriter BufferedWriter output = new BufferedWriter(file); //Escribir cadena en el archivo output.write(data); //Cerrar writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
En el ejemplo anterior, creamos un escritor de salida y un escritor de archivo llamado output. El escritor de búfer está vinculado al archivo output.txt.
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
Para escribir datos en el archivo, hemos utilizado el método write().
Aquí, cuando ejecutamos el programa,output.txtEl archivo contendrá el siguiente contenido.
Esta es una línea de texto dentro del archivo.
Para limpiar el búfer interno, podemos usar el método flush(). Este método fuerza al escritor a escribir todos los datos existentes en el búfer al archivo de destino.
Por ejemplo, supongamos que tenemos un archivo llamadooutput.txtun archivo vacío.
import java.io.FileWriter; import java.io.BufferedWriter; public class Main { public static void main(String[] args) { String data = "Esta es una demostración del método flush"; try { //Crear FileWriter FileWriter file = new FileWriter("flush.txt"); //Crear BufferedWriter BufferedWriter output = new BufferedWriter(file); //Escribir datos en el archivo output.write(data); //Refrescar los datos al objetivo output.flush(); System.out.println("Los datos se refrescan al archivo."); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
Resultados de salida
Los datos se refrescan al archivo.
Cuando ejecutamos el programa, el archivooutput.txtTexto representado por datos de cadena lleno.
Para cerrar el writer con缓冲, podemos usar el método close(). Una vez que se llama al método close(), no se puede escribir datos en el writer.
Método | Descripción |
---|---|
newLine() | Insertar una nueva línea al autor |
append() | Insertar el carácter especificado en el escritor actual |