code: public static void uncompressDirectory(File srcZipPath, File dstDirPath) throws IOException
     {
        ZipInputStream in = new ZipInputStream(new FileInputStream(srcZipPath));
        ZipEntry entry = null;
  
        try
        {
           while ((entry = in.getNextEntry()) != null)
           {
              File dstFile = new File(dstDirPath, entry.getName());
              dstFile.getParentFile().mkdirs();
  
              if (entry.isDirectory())
              {
                 dstFile.mkdirs();
              }
              else
              {
                 OutputStream out = new FileOutputStream(dstFile);
                 try
                 {
                    transfer(in, out);
                 }
                 finally
                 {
                    out.close();
                 }
              }
           }
        }
        finally
        {
           if (in != null)
           {
              in.close();
           }
        }
     }
docs: Uncompress data to the destination directory.
  
  @param srcZipPath
  path to the compressed file, could be the file or the directory
  @param dstDirPath
  destination path
  @throws IOException
  if any exception occurred