La función setInput() de la clase Inflater se usa para configurar los datos de entrada para la descompresió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:
i.setInput(byte[]); i.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 inflar
- 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 retorno: la función no tiene valor de retorno
Excepción: la función no arroja ninguna excepción.
Ejemplo 1: uso de la función setInput(byte[] b)
// 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, DataFormatException { // compress the data // 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); // end d.end(); // end of compression // use Inflater to get back the original data // Inflater Inflater i = new Inflater(); // set the input for inflator i.setInput(output); // output bytes byte inflater_output[] = new byte[1024]; // uncompress the data int org_size = i.inflate(inflater_output); // output of inflater and deflater System.out.println("Compressed output of deflater : " + new String(output)); System.out.println("Compressed output of Inflater : " + new String(inflater_output, "UTF-8")); // end i.end(); } }
Producción:
Ejemplo 2: uso de la función setInput(byte[] b, int offset, int len)
// 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, DataFormatException { // compress the data // 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); // end d.end(); // end of the compression // use Inflater to get back the original data // Inflater Inflater i = new Inflater(); // set the input for inflator i.setInput(output, 0, 14); // output bytes byte inflater_output[] = new byte[1024]; // uncompress the data int org_size = i.inflate(inflater_output); // output of inflater and deflater System.out.println("Compressed output of deflater : " + new String(output)); System.out.println("Compressed output of Inflater : " + new String(inflater_output, "UTF-8")); // end i.end(); } }
Producción:
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Inflater.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