Clase Java.util.zip.DeflaterInputStream en Java

Implementa un filtro de flujo de entrada para comprimir datos en el formato de compresión «desinflado».

Constructor y Descripción

  • DeflaterInputStream(InputStream in): crea un nuevo flujo de entrada con un compresor predeterminado y un tamaño de búfer.
  • DeflaterInputStream(InputStream in, Deflater defl) : crea un nuevo flujo de entrada con el compresor especificado y un tamaño de búfer predeterminado.
  • DeflaterInputStream(InputStream in, Deflater defl, int bufLen) : crea un nuevo flujo de entrada con el compresor y el tamaño de búfer especificados.

Métodos:

  • int available() : Devuelve 0 después de alcanzar el EOF; de lo contrario, siempre devuelve 1.
    Syntax :public int available()
                  throws IOException
    Parameters:
    n - number of bytes to be skipped
    Returns:
    the actual number of bytes skipped
    Throws:
    IOException
  • void close() : Cierra este flujo de entrada y su flujo de entrada subyacente, descartando cualquier dato sin comprimir pendiente.
    Syntax :public void close()
               throws IOException
    Overrides:
    close in class FilterInputStream
    Throws:
    IOException
  • void mark(int limit) : Esta operación no es compatible.
    Syntax :public void mark(int limit)
    Parameters:
    limit - maximum bytes that can be read before invalidating the position marker
    
  • boolean markSupported() : siempre devuelve falso porque este flujo de entrada no es compatible con los métodos mark() y reset().
    Syntax :public boolean markSupported()
    Returns:
    false, always
  • int read() : lee un solo byte de datos comprimidos del flujo de entrada.
    Syntax :public int read()
             throws IOException
    Returns:
    a single byte of compressed data, or -1 if the end of the uncompressed
    input stream is reached
    Throws:
    IOException
  • int read(byte[] b, int off, int len) : Lee datos comprimidos en una array de bytes.
    Syntax :public int read(byte[] b,
           int off,
           int len)
             throws IOException
    Parameters:
    b - buffer into which the data is read
    off - starting offset of the data within b
    len - maximum number of compressed bytes to read into b
    Returns:
    the actual number of bytes read, or -1 if the end of the
    uncompressed input stream is reached
    Throws:
    IndexOutOfBoundsException 
    IOException 
  • void reset() : esta operación no es compatible.
    Syntax :public void reset()
               throws IOException
    Throws:
    IOException
  • long skip(long n) : Omite y descarta datos del flujo de entrada.
    Syntax :public long skip(long n)
              throws IOException
    Parameters:
    n - number of bytes to be skipped
    Returns:
    the actual number of bytes skipped
    Throws:
    IOException

Programa:

//Java program to illustrate DeflaterInputStream class
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.zip.DeflaterInputStream;
  
class DeflaterInputStreamDemo
{
    public static void main(String[] args) throws IOException
    {
        byte b[] = new byte[10];
        for (byte i = 0; i <10 ; i++)
        {
            b[i] = i;
        }
        ByteArrayInputStream bin = new ByteArrayInputStream(b);
        DeflaterInputStream din = new DeflaterInputStream(bin);
  
        //illustrating markSupported() method
        System.out.println(din.markSupported());
          
        //illustrating skip() method
        din.skip(1);
  
        //illustrating available() method
        System.out.println(din.available());
  
        //illustrating read(byte[] b,int off,int len)
        byte c[] = new byte[10];
          
        din.read(c,0,9);
                for (int i = 0; i < 9; i++)
        {
            System.out.print(c[i]);
        }
        while(din.available() == 1)
        {
            //Reads a single byte of compressed data
            System.out.print(din.read());
        }
          
        System.out.println();
        System.out.println(din.available());
  
        // illustrating close() method
        din.close();
    }
}

Producción :

false
1
-1009996100981029710199231224400175046-1
0

La salida anterior representa datos comprimidos.

Artículo siguiente: Clase Java.util.zip.DeflaterOutputStream en Java

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 *