devxlogo

Performing File Compression in Java

Performing File Compression in Java

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 CreateGZIPFile /home/mypc/CreateGZIP.java is compressed as /home/mypc/CompressedFile.gz*/

devx-admin

Share the Post: