Home Java Example Java Util Unzip a ZIP File
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Unzip a ZIP File

Advertisement
In this section, you will wll learn How to unzip (extract) a zip file? How to retrieve elements from a zip format file?

Unzip a ZIP File

     

How to unzip (extract) a zip file? How to retrieve elements from a zip format file? All these type of questions are solved through the following example. This program shows you how to extract files from a zip file in which many different files are stored in compressed format and make a single zip file.

There are various type methods and APIs are explained as follows which are used in the following program to retrieve all the compressed elements from the zip file.

ZipEntry:
This is the class of java.util.zip.*; package of Java which is used to zip file entries.

ZipFile.entries():
Above method of the ZipFile class gets the files entries of the zip file format.

Enumeration.hasMoreElement():
This method checks whether more element elements are present or not for the zip file which are enumerated.

Enumeration.nextElement():
This method gives you the next elements from the list of the files, which are compressed and stored in the zip file.

Here is the code of the program:

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

public class ZipRetrieveElements{
  public static void main(String[] args){
  ZipRetrieveElements zr = new ZipRetrieveElements();
  }

  public ZipRetrieveElements() {
  OutputStream out = null;
  BufferedReader bf = 
  new 
BufferedReader(new InputStreamReader(System.in));
  try {
  System.out.print("Eneter zip file name to unzip: ");
  String sourcefile = bf.readLine();
  if(!sourcefile.endsWith(".zip")){
  System.out.println("Invalid file name!");
  System.exit(0);
  }
  else if(!new File(sourcefile).exists()){
  System.out.println("File not exist!");
  System.exit(0);
  }

  ZipInputStream in = 
 
new ZipInputStream(new FileInputStream(sourcefile));
  ZipFile zf = new ZipFile(sourcefile);
  int a = 0;
  for(Enumeration em = zf.entries(); em.hasMoreElements();){
  String targetfile = em.nextElement().toString();
  ZipEntry ze = in.getNextEntry();
  out = new FileOutputStream(targetfile);
  byte[] buf = new byte[1024];
  int len;
  while ((len = in.read(buf)) 0) {
  out.write(buf, 0, len);
  }
  a = a + 1;
  }
  if(a > 0System.out.println("Files unzipped.");
  out.close();
  in.close();
  catch (IOException e) {
  System.out.println("Error: Operation failed!");
  System.exit(0);
  }
  }
}

Download this example.

Advertisement

Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: April 16, 2007

Ask Questions?    Discuss: Unzip a ZIP File   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
vijay
January 28, 2012
question

heloo sir... can u guide me to execute the aboue code... i used to retrive the zipped content by using this code but this code doesnot recognizes the .ZIP conetnt even thoug i entered the correct file so please give me the process to execute the above code
Subrata Thakur
October 4, 2012
commerce

how to unzip file to a zip file.please help me.
Rahul Munjal
December 12, 2012
regarding output

the code is running fine. but the output it gives is a file type element not a file folder type.that means i cant open the output file given by this code. plz help.
DMCA.com