public void unzip(String zipFilePath, String destDirectory) throws IOException {
        File destDir = new File(destDirectory);
        if (!destDir.exists()) {
            destDir.mkdir();
        }
        ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFilePath));
        ZipEntry entry = zipIn.getNextEntry();
        // iterates over entries in the zip file
        while (entry != null) {
            String filePath = destDirectory + "/" + entry.getName();
            
            File path = new File(filePath);
            File basePath = path.getParentFile();
            
            if (basePath != null) {
            	basePath.mkdirs();
            }
            
            if (entry.isDirectory()) {
            	path.mkdir();
            } else {
            	extractFile(zipIn, filePath);
            }
            zipIn.closeEntry();
            entry = zipIn.getNextEntry();
        }
        zipIn.close();
    }