Función Deflater setLevel() en Java con ejemplos

La función setLevel() de la clase Deflater en java.util.zip establece el nivel de compresión actual en el valor especificado. El nivel de compresión es un valor entero de 0 a 9.
Firma de la función:

public void setLevel(int level)

Sintaxis:

d.setLevel(int);

Parámetro: la función requiere un valor entero que es el valor de compresión especificado

Tipo de devolución: la función no devuelve ningún valor.

Excepción: la función genera IllegalArgumentException si el nivel de compresión no es válido.

Algunos valores constantes para los niveles de desinflado:

  • BEST_COMPRESSION : nivel de compresión para la mejor compresión
  • BEST_SPEED : Nivel de compresión para la compresión más rápida.
  • DEFAULT_COMPRESSION : Nivel de compresión predeterminado.
  • NO_COMPRESSION : Nivel de compresión sin compresión.
  • Ejemplo 1:

    // Java program to describe the use
    // of setLevel() function
      
    import java.util.zip.*;
    import java.io.UnsupportedEncodingException;
      
    class GFG {
      
        // Function to compress the string to the given level
        static void compression(int level, String text)
            throws UnsupportedEncodingException
        {
            // deflater
            Deflater d = new Deflater(level);
      
            // 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 with level ="
                               + level + " :"
                               + new String(output)
                               + "\n Size " + size);
      
            d.end();
        }
      
        // Driver code
        public static void main(String args[])
            throws UnsupportedEncodingException
        {
      
            // get the text
            String pattern = "GeeksforGeeks", text = "";
      
            // generate the text
            for (int i = 0; i < 4; i++)
                text += pattern;
      
            // original String
            System.out.println("Original String :" + text
                               + "\n Size " + text.length());
      
            // default
            compression(Deflater.DEFAULT_COMPRESSION, text);
      
            // no compression
            compression(Deflater.NO_COMPRESSION, text);
      
            // Best compression
            compression(Deflater.BEST_COMPRESSION, text);
      
            // Best Speed
            compression(Deflater.BEST_SPEED, text);
        }
    }
    

    Producción:

    Original String :GeeksforGeeksGeeksforGeeksGeeksforGeeksGeeksforGeeks
     Size 52
    Compressed String with level =-1 :x?sOM?.N?/r???q??
     Size 21
    Compressed String with level =0 :x4??GeeksforGeeksGeeksforGeeksGeeksforGeeksGeeksforGeeks??
     Size 63
    Compressed String with level =9 :x?sOM?.N?/r???q??
     Size 21
    Compressed String with level =1 :xsOM?.N?/r?`?0??
     Size 22
    

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

    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 *