Home Java Example Java Util Unzip a ZIP File



Unzip a ZIP File
Posted on: April 16, 2007 at 12:00 AM
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.

Related Tags for Unzip a ZIP File:
ccomfileidefilesormformdiffiozipmakesedformatipvitracextractthisidshowifforexampleunzipprogramtoramexamstoresinglessewsshexteildessectioncompressmanfrominrmdifferentmnttreshowprostoredtorxawhichxampsessatanyrackishamplpresspreandaractxtzssrenthshosthatfemanypleplprpressedndonomogro


More Tutorials from this section

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

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.