Module java.base
Package java.util.zip

Class Inflater

java.lang.Object
java.util.zip.Inflater

public class Inflater extends Object
This class provides support for general purpose decompression using the popular ZLIB compression library. The ZLIB compression library was initially developed as part of the PNG graphics standard and is not protected by patents. It is fully described in the specifications at the java.util.zip package description.

This class inflates sequences of ZLIB compressed bytes. The input byte sequence is provided in either byte array or byte buffer, via one of the setInput() methods. The output byte sequence is written to the output byte array or byte buffer passed to the inflate() methods.

The following code fragment demonstrates a trivial compression and decompression of a string using Deflater and Inflater.

 try {
     // Encode a String into bytes
     String inputString = "blahblahblah€€";
     byte[] input = inputString.getBytes("UTF-8");

     // Compress the bytes
     byte[] output = new byte[100];
     Deflater compresser = new Deflater();
     compresser.setInput(input);
     compresser.finish();
     int compressedDataLength = compresser.deflate(output);

     // Decompress the bytes
     Inflater decompresser = new Inflater();
     decompresser.setInput(output, 0, compressedDataLength);
     byte[] result = new byte[100];
     int resultLength = decompresser.inflate(result);
     decompresser.end();

     // Decode the bytes into a String
     String outputString = new String(result, 0, resultLength, "UTF-8");
 } catch (java.io.UnsupportedEncodingException ex) {
     // handle
 } catch (java.util.zip.DataFormatException ex) {
     // handle
 }
 
API Note:
To release resources used by this Inflater, the end() method should be called explicitly. Subclasses are responsible for the cleanup of resources acquired by the subclass. Subclasses that override Object.finalize() in order to perform cleanup should be modified to use alternative cleanup mechanisms such as Cleaner and remove the overriding finalize method.
Since:
1.1
See Also: