public static void unzipFile(String zipFilePath, String outputDir) {
		byte[] buffer = new byte[1024];
		try {
			// create output directory is not exists
			File folder = new File(outputDir);
			if (!folder.exists()) {
				folder.mkdir();
			}

			// getLogger().info("zip file : " + zipFilePath);

			// get the zip file content
			ZipInputStream zis = new ZipInputStream(new FileInputStream(
					zipFilePath));
			// get the zipped file list entry
			ZipEntry ze = zis.getNextEntry();

			while (ze != null) {

				String fileName = ze.getName();
				File newFile = new File(outputDir + File.separator + fileName);

				if (newFile.exists()) {
					ze = zis.getNextEntry();
					getLogger().info(
							"file exists : " + newFile.getAbsolutePath());
					continue;
				}
				getLogger()
						.info("file unzipped : " + newFile.getAbsolutePath());

				// create all non exists folders
				// else you will hit FileNotFoundException for compressed folder
				new File(newFile.getParent()).mkdirs();

				FileOutputStream fos = new FileOutputStream(newFile);

				int len;
				while ((len = zis.read(buffer)) > 0) {
					fos.write(buffer, 0, len);
				}

				fos.close();
			}

			zis.closeEntry();
			zis.close();
		} catch (IOException ex) {
			ex.printStackTrace();
		}
	}