dcsimg
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

Tip: Performing File Compression in Java

Java provides you with a zip package that can be handy in compressing large files for distribution or backup.


advertisement

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Often, file sizes are too big to back them up or share them with someone. You can create a compressed version that will save you disk space, transfer time, etc.

Java provides you with a zip package that can be handy here:

import java.util.zip.GZIPOutputStream;
import java.io.*;

public class CreateGZIP
{
   public static void main(String args[])   {
      CreateGZIP createGZIP = new CreateGZIP();
      createGZIP.proceed();
   }
   
   private void proceed(){
      String fileToBeCompressed = "/home/mypc/CreateGZIP.java";
      String compressedFileName = "/home/mypc/CompressedFile.gz";
      byte[] buffer = new byte[1024];
        int bufferLength;
         
      try{
         //Creating the needed streams for the input and output
         FileInputStream fileInputStream = new FileInputStream(fileToBeCompressed);
            FileOutputStream fileOutputStream = new FileOutputStream(compressedFileName);
            GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(fileOutputStream);

            while((bufferLength = fileInputStream.read(buffer)) != -1){
                gZIPOutputStream.write(buffer, 0, bufferLength);
            }
            
         //Closing all the streams used
         fileInputStream.close();
         //fileOutputStream.close();
         gZIPOutputStream.finish();
            gZIPOutputStream.close();
         System.out.println("File " + fileToBeCompressed + " is compressed as " + compressedFileName);
      }
      catch(IOException ioe){
         System.out.println("IOException: " + ioe);
      }
   }
}

/*

Expected output:

[root@mypc]# java CreateGZIP
File /home/mypc/CreateGZIP.java is compressed as /home/mypc/CompressedFile.gz

*/

 

Visit the DevX Tip Bank

 





   
Sridhar M S. is a Java developer from Bangalore, India. He holds a master's degree in Computer Science.
Thanks for your registration, follow us on our social networks to keep up-to-date