Compressing File In Java

  1. import java.io.*;  
  2. import java.util.zip.*;  
  3.   
  4. public class CompressingFile {  
  5.     public static void doCompressFile(String inFileName){  
  6.         try{  
  7.             File file = new File(inFileName);  
  8.             System.out.println(" you are going to gzip the  : " + file + "file");  
  9.             FileOutputStream fos = new FileOutputStream(file + ".gz");  
  10.             System.out.println(" Now the name of this gzip file is  : " + file + ".gz" );  
  11.             GZIPOutputStream gzos = new GZIPOutputStream(fos);  
  12.             System.out.println(" opening the input stream");  
  13.             FileInputStream fin = new FileInputStream(file);  
  14.             BufferedInputStream in = new BufferedInputStream(fin);  
  15.             System.out.println("Transferring file from" + inFileName + " to " + file + ".gz");  
  16.             byte[] buffer = new byte[1024];  
  17.             int i;  
  18.             while ((i = in.read(buffer)) >= 0){  
  19.                 gzos.write(buffer,0,i);  
  20.             }  
  21.             System.out.println(" file is in now gzip format");  
  22.             in.close();  
  23.             gzos.close();  
  24.         }  
  25.         catch(IOException e){  
  26.             System.out.println("Exception is" + e);  
  27.         }  
  28.     }         
  29.     public static void main(String args[]){  
  30.         if(args.length!=1){  
  31.             System.err.println("Please enter the file name which needs to be compressed ");  
  32.         }  
  33.         else{  
  34.             doCompressFile(args[0]);  
  35.         }  
  36.     }