Función Deflater setInput() en Java con ejemplos

La función setInput() de la clase Deflater en java.util.zip se usa para configurar los datos de entrada para la compresión. Esta función debe llamarse cuando needInput() devuelve verdadero, lo que indica que el búfer de entrada está vacío.

Firma de función:

public void setInput(byte[] b)
public void setInput(byte[] b, int offset, int len)

Sintaxis:

d.setInput(byte[]);
d.setInput(byte[], int, int);

Parámetro: Los diversos parámetros aceptados por estas funciones sobrecargadas son:

  • byte[] b : Esta es la array de entrada que se va a desinflar
  • int offset : este es el desplazamiento inicial desde el cual se leerán los valores en la array dada
  • int length : esta es la longitud máxima que se comprimirá desde el desplazamiento inicial.

Tipo de devolución: la función no devuelve nada.

Excepción: la función no arroja ninguna excepción.

Ejemplo 1:

// Java program to describe the use
// of setInput(byte[] b) function
  
import java.util.zip.*;
import java.io.UnsupportedEncodingException;
  
class GFG {
    public static void main(String args[])
        throws UnsupportedEncodingException
    {
        // deflater
        Deflater d = new Deflater();
  
        // get the text
        String pattern = "GeeksforGeeks", text = "";
  
        // generate the text
        for (int i = 0; i < 4; i++)
            text += pattern;
  
        // set the Input for deflator
        d.setInput(text.getBytes("UTF-8"));
  
        // finish
        d.finish();
  
        // output bytes
        byte output[] = new byte[1024];
  
        // compress the data
        int size = d.deflate(output);
  
        // compressed String
        System.out.println("Compressed String :"
                           + new String(output)
                           + "\n Size " + size);
  
        // original String
        System.out.println("Original String :" + text
                           + "\n Size " + text.length());
  
        // end
        d.end();
    }
}

Producción:

Compressed String :x?sOM?.N?/r???q??
 Size 21
Original String :GeeksforGeeksGeeksforGeeksGeeksforGeeksGeeksforGeeks
 Size 52

Ejemplo 2:

// Java program to describe the use
// of setInput(byte[] b, int offset, int len) function
  
import java.util.zip.*;
import java.io.UnsupportedEncodingException;
  
class GFG {
    public static void main(String args[])
        throws UnsupportedEncodingException
    {
        // deflater
        Deflater d = new Deflater();
  
        // get the text
        String pattern = "GeeksforGeeks", text = "";
  
        // generate the text
        for (int i = 0; i < 4; i++)
            text += pattern;
  
        // set the Input for deflator
        d.setInput(text.getBytes("UTF-8"), 10, 30);
  
        // finish
        d.finish();
  
        // output bytes
        byte output[] = new byte[1024];
  
        // compress the data
        int size = d.deflate(output);
  
        // compressed String
        System.out.println("Compressed String :"
                           + new String(output)
                           + "\n Size " + size);
  
        // end
        d.end();
    }
}

Producción:

Compressed String :x?K?.vOM?.N?/????
 Size 22

Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Deflater.html#setInput()

Publicación traducida automáticamente

Artículo escrito por andrew1234 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 *