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*/
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist