Java BufferedWriter (con ejemplos)

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

La BufferedWriterclase del java.iopaquete se puede usar con otros escritores para escribir datos (en caracteres) de manera más eficiente.

Extiende la clase abstracta Writer.

Trabajo de BufferedWriter

El BufferedWritermantiene un interno de memoria intermedia de 8192 caracteres .

Durante la operación de escritura, los caracteres se escriben en el búfer interno en lugar de en el disco. Una vez que se llena el búfer o se cierra el escritor, todos los caracteres del búfer se escriben en el disco.

Por lo tanto, se reduce el número de comunicaciones al disco. Es por eso que escribir caracteres es más rápido BufferedWriter.

Crear un escritor en búfer

Para crear un BufferedWriter, java.io.BufferedWriterprimero debemos importar el paquete. Una vez que importamos el paquete, aquí es cómo podemos crear el escritor almacenado en búfer.

 // Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file); 

En el ejemplo anterior, hemos creado un BufferedWriterbúfer con FileWriternombre con el archivo con nombre.

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

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

El búfer ayudará a escribir caracteres en los archivos de manera más eficiente.

Métodos de BufferedWriter

La BufferedWriterclase proporciona implementaciones para diferentes métodos presentes en Writer.

método de escritura

  • write() - escribe un solo carácter en el búfer interno del escritor
  • write(char() array) - escribe los caracteres de la matriz especificada al escritor
  • write(String data) - escribe la cadena especificada al escritor

Ejemplo: BufferedWriter para escribir datos en un archivo

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

En el ejemplo anterior, hemos creado un escritor almacenado en búfer llamado salida junto con FileWriter. El escritor almacenado en búfer está vinculado con el archivo output.txt .

 FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file); 

Para escribir datos en el archivo, usamos el write()método.

Aquí, cuando ejecutamos el programa, el archivo output.txt se llena con el siguiente contenido.

 This is a line of text inside the file. 

Método flush ()

Para borrar el búfer interno, podemos usar el flush()método. Este método obliga al escritor a escribir todos los datos presentes en el búfer en el archivo de destino.

Por ejemplo, supongamos que tenemos un archivo vacío llamado output.txt .

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String() args) ( String data = "This is a demo of the flush method"; try ( // Creates a FileWriter FileWriter file = new FileWriter(" flush.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes data to the file output.write(data); // Flushes data to the destination output.flush(); System.out.println("Data is flushed to the file."); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Salida

 Los datos se vacían en el archivo. 

Cuando ejecutamos el programa, el archivo output.txt se llena con el texto representado por la cadena de datos.

Método close ()

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

Otros métodos de BufferedWriter

Método Descripción
newLine() inserta una nueva línea al escritor
append() inserta el carácter especificado en el escritor actual

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

Articulos interesantes...