Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Clase Java BufferedOutputStream

Clase Java BufferedOutputStream

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

El BufferedOutputStream clase del java.io El paquete se usa con otros flujos de salida para escribir los datos (en bytes) de manera más eficiente.

Extiende el OutputStream clase abstracta.


Funcionamiento de BufferedOutputStream

El BufferedOutputStream mantiene un buffer interno de 8192 bytes .

Durante la operación de escritura, los bytes se escriben en el búfer interno en lugar del disco. Una vez que se llena el búfer o se cierra la transmisión, todo el búfer se escribe en el disco.

Por lo tanto, se reduce el número de comunicaciones con el disco. Es por eso que escribir bytes es más rápido usando BufferedOutputStream .


Crear un BufferedOutputStream

Para crear un BufferedOutputStream , debemos importar el java.io.BufferedOutputStream paquete primero. Una vez que importamos el paquete, aquí es cómo podemos crear el flujo de salida.

// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String path);

// Creates a BufferedOutputStream
BufferedOutputStream buffer = new BufferOutputStream(file);

En el ejemplo anterior, hemos creado un BufferdOutputStream llamado búfer con el FileOutputStream llamado archivo .

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

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

El búfer ayudará a escribir bytes en los archivos más rápidamente.


Métodos de BufferedOutputStream

El BufferedOutputStream La clase proporciona implementaciones para diferentes métodos en el OutputStream clase.

método escribir()

Ejemplo:BufferedOutputStream para escribir datos en un archivo

import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a line of text inside the file";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream("output.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream output = new BufferedOutputStream(file);

            byte[] array = data.getBytes();

            // Writes data to the output stream
            output.write(array);
            output.close();
        }

        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

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

FileOutputStream file = new FileOutputStream("output.txt");
BufferedOutputStream output = new BufferedOutputStream(file);

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

Aquí cuando ejecutamos el programa, el output.txt El archivo está lleno con el siguiente contenido.

This is a line of text inside the file.

Nota :El getBytes() El método utilizado en el programa convierte una cadena en una matriz de bytes.


Método de vaciar()

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

import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a demo of the flush method";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream(" flush.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream buffer = new BufferedOutputStream(file);

            // Writes data to the output stream
            buffer.write(data.getBytes());

            // Flushes data to the destination
            buffer.flush();
            System.out.println("Data is flushed to the file.");
            buffer.close();
        }

        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

Salida

Data is flushed to the file.

Cuando ejecutamos el programa, el archivo flush.txt se rellena con el texto representado por la cadena datos .


Método cerrar()

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

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


Java

  1. Palabra clave final de Java
  2. Operador de instancia de Java
  3. Herencia de Java
  4. Clase estática anidada de Java
  5. Clase anónima de Java
  6. Clase única de Java
  7. Reflexión Java
  8. Clase Java ArrayList
  9. Clase Java ObjectOutputStream
  10. Genéricos de Java
  11. Clase de archivo Java