English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo de Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Conjuntos de Java Map

Conjuntos de Java

Java Entrada/Salida (I/O)

Lector de Java/Writer

Otras temáticas de Java

Clase BufferedWriter de Java

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.

Cómo funciona BufferedWriter

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.

Crear un BufferedWriter

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.

Métodos de BufferedWriter

La clase BufferedWriter proporciona implementaciones de diferentes métodos que existen en Writer.

Método write()

  • 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

Ejemplo: Escribir datos en el BufferedWriter

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.

Método flush()

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.

Método close()

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.

Otros métodos de BufferedWriter

MétodoDescripción
newLine()Insertar una nueva línea al autor
append()Insertar el carácter especificado en el escritor actual