Open In App

Deflater getTotalIn() function in Java with examples

Improve
Improve
Like Article
Like
Save
Share
Report


The getTotalIn() function of the Deflater class in java.util.zip returns the total number of uncompressed bytes input provided till now.

Function Signature:

public int getTotalIn()

Syntax:

d.getTotalIn();

Parameter: The function requires no parameter

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

Exception: The function does not throw any exception

Example 1:




// 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
    {
        // 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());
  
        // get the total number of uncompressed
        // bytes input so far
        System.out.println("Total Input value :"
                           + d.getTotalIn());
  
        // end
        d.end();
    }
}


Output:

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

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/Deflater.html#getTotalIn()



Last Updated : 24 Jun, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads