Clase Java.util.zip.DeflaterOutputStream en Java

Clase Java.util.zip.DeflaterInputStream en Java

Esta clase implementa un filtro de flujo de salida para comprimir datos en el formato de compresión «desinflado». También se utiliza como base para otros tipos de filtros de compresión, como GZIPOutputStream.
Constructores y Descripción

  • DeflaterOutputStream(OutputStream out) : crea un nuevo flujo de salida con un compresor predeterminado y un tamaño de búfer.
  • DeflaterOutputStream(OutputStream out, boolean syncFlush) : crea un nuevo flujo de salida con un compresor predeterminado, un tamaño de búfer predeterminado y el modo de descarga especificado.
  • DeflaterOutputStream(OutputStream out, Deflater def) : crea un nuevo flujo de salida con el compresor especificado y un tamaño de búfer predeterminado.
  • DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush): crea un nuevo flujo de salida con el compresor especificado, el modo de descarga y un tamaño de búfer predeterminado.
  • DeflaterOutputStream(OutputStream out, Deflater def, int size) : crea un nuevo flujo de salida con el compresor y el tamaño de búfer especificados.
  • DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush): crea un nuevo flujo de salida con el compresor, tamaño de búfer y modo de descarga especificados.

Métodos:

  • void close() : escribe los datos comprimidos restantes en el flujo de salida y cierra el flujo subyacente.
    Syntax :public void close()
               throws IOException
    Overrides:
    close in class FilterOutputStream
    Throws:
    IOException
  • protected void deflate() : escribe el siguiente bloque de datos comprimidos en el flujo de salida.
    Syntax :protected void deflate()
                    throws IOException
    Throws:
    IOException
  • void finish() : Termina de escribir datos comprimidos en el flujo de salida sin cerrar el flujo subyacente.
    Syntax :public void finish()
                throws IOException
    Throws:
    IOException
  • void flush() : vacía el flujo de salida comprimido.
    Syntax :public void flush()
               throws IOException
    Overrides:
    flush in class FilterOutputStream
    Throws:
    IOException
  • void write(byte[] b, int off, int len) : escribe una array de bytes en el flujo de salida comprimido.
    Syntax :public void write(byte[] b,
             int off,
             int len)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the data to be written
    off - the start offset of the data
    len - the length of the data
    Throws:
    IOException
  • void write(int b) : Escribe un byte en el flujo de salida comprimido.
    Syntax :public void write(int b)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the byte to be written
    Throws:
    IOException
//Java program to demonstrate DeflaterOutputStream
  
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.DeflaterOutputStream;
  
class DeflaterOutputStreamDemo
{
    public static void main(String[] args) throws IOException 
    {
  
        FileOutputStream fos = new FileOutputStream("file2.txt");
  
        //Assign FileOutputStream to DeflaterOutputStream
        DeflaterOutputStream dos = new DeflaterOutputStream(fos);
  
        //write it into DeflaterOutputStream
        for (int i = 0; i <10 ; i++) 
        {
            dos.write(i);
        }
          
        //illustrating flush() method()
        dos.flush();
          
        //illustrating finish()
        //Finishes writing compressed data to the output stream
        // without closing the underlying stream
        dos.finish();
          
        //fos is not closed
        //writing some data on file
        fos.write('G');
      
        //Writes remaining compressed data to the output stream
        // closes the underlying stream.
        dos.close();
    }
}

Nota: La salida del programa no será visible en el IDE en línea, ya que file2.txt no se puede leer aquí.

Este artículo es una contribución de Nishant Sharma . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *