Sunday, November 17, 2024
Google search engine
HomeLanguagesJavaInflater getTotalIn() function in Java with examples

Inflater getTotalIn() function in Java with examples

The getTotalIn() function of the Inflater class returns the total number of compressed bytes input provided till now.

Function Signature:

public int getTotalIn()

Syntax:

i.getTotalIn();

Parameter: The function requires no parameter

Return Type: The function returns int value which is the total number of compressed bytes input .

Exception: The function does not throw any exception

Example 1: use of getTotalIn() function




// Java program to describe the use
// of getTotalIn() 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 = "Lazyroar", 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"));
  
        // get the total number of compressed bytes input so far
        System.out.println("Total Input value :" + i.getTotalIn());
  
        // end
        i.end();
    }
}


Output:

Note: The problem arises when the length of the input is greater than Integer.MAX_VALUE then the result may overflow, we should use getBytesRead() function instead

Reference: https://docs.oracle.com/javase/7/docs/api/java/util/zip/Inflater.html#getTotalIn()

RELATED ARTICLES

Most Popular

Recent Comments