public void unpack(String filename1)
	{
		String filename = filename1;

		File srcFile = new File(filename);

		String zipPath = filename.substring(0, filename.length()-4);
		File temp = new File(zipPath);
		temp.mkdir();

		ZipFile zipFile = null;

		try {

			zipFile = new ZipFile(srcFile);

			Enumeration<? extends ZipEntry> e = zipFile.entries();

			while(e.hasMoreElements())
			{

				ZipEntry entry = e.nextElement();

				File destinationPath = new File(zipPath, entry.getName());

				destinationPath.getParentFile().mkdirs();

				if(entry.isDirectory())
				{
					continue;
				} else {
					System.out.println("Extracting file: " + destinationPath);

					BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry));

					int b;
					byte buffer[] = new byte[1024];

					FileOutputStream fos = new FileOutputStream(destinationPath);

					BufferedOutputStream bos = new BufferedOutputStream(fos, 1024);

					while ((b = bis.read(buffer, 0, 1024)) != -1)
					{
						bos.write(buffer, 0, b);
					}

					bos.close();
					bis.close();
				}
			}
		} catch (IOException e1) {
			System.out.println("Error opening zip file" + e1);
		} finally {
			try {
				if(zipFile != null)
				{
					zipFile.close();
				}
			} catch (IOException e2) {
				System.out.println("Error while closing zip file" + e2);
			}
		}
	}