code: public static boolean unzipFileIntoDirectory(final File zipFile, final String directory) {
          final Map<ZipEntry, byte[]> zipEntries = new HashMap<ZipEntry, byte[]>();
          ZipInputStream zis;
          try {
              zis = new ZipInputStream(new FileInputStream(zipFile));
          } catch (FileNotFoundException ex) {
              LOG.error("Unable to find specified file", ex);
              return false;
          }
          ZipEntry entry = null;
          byte[] buffer = new byte[1024];
          try {
              int read;
              while ((entry = zis.getNextEntry()) != null) {
                  final ByteArrayOutputStream bos = new ByteArrayOutputStream();
                  while ((read = zis.read(buffer)) > 0) {
                      bos.write(buffer, 0, read);
                  }
                  zipEntries.put(entry, bos.toByteArray());
              }
          } catch (IOException ex) {
              LOG.error("Unable to write ZIP file to directory", ex);
              return false;
          }
          return unzipFileIntoDirectory(zipEntries, directory);
      }
docs: Unzips a Zip File in byte array format to a specified directory.
  
  @param zipFile  The zip file.
  @param directory The directory to unzip the file to.
  @return true if the file was successfully unzipped otherwise false.