private static void extract(ZipInputStream in, String destinationPath) throws IOException {
				
		ZipEntry zipEntry = in.getNextEntry();
		while (zipEntry != null) {
			String entryName = zipEntry.getName();

			File newFile = new File(entryName);
			String directory = newFile.getParent();

			if (directory == null) {
				if (newFile.isDirectory())
					break;
			}
			
			new File(destinationPath + directory.replaceAll("\\\\", "/")).mkdirs();			
			FileOutputStream fos = new FileOutputStream(destinationPath + entryName);

			int len;
			byte[] buf = new byte[1024];
			while ((len = in.read(buf, 0, 1024)) > -1) {
				fos.write(buf, 0, len);
			}
			fos.close();
			in.closeEntry();
			zipEntry = in.getNextEntry();
		}
		in.close();
	}