code: public static void extractFile(File zipFile,
                                     String entryName,
                                     File destination) throws IOException {
          ZipFile zip = new ZipFile(zipFile);
  
          try {
              ZipEntry entry = zip.getEntry(entryName);
  
              if (entry != null) {
                  // Get an input stream for the entry.
                  InputStream entryStream = zip.getInputStream(entry);
                  try {
                      // Create the output file
                      File parent = destination.getParentFile();
                      if (parent != null) {
                          parent.mkdirs();
                      }
  
                      FileOutputStream file = new FileOutputStream(destination);
  
                      try {
                          // Allocate a buffer for reading the entry data.
                          byte[] data = new byte[BUFFER];
                          int bytesRead;
  
                          // Read the entry data and write it to the output file.
                          while ((bytesRead = entryStream.read(data)) != -1) {
                              file.write(data, 0, bytesRead);
                          }
                      } finally {
                          file.close();
                      }
                  } finally {
                      entryStream.close();
                  }
              } else {
                  throw new IOException(zipFile.getName() + " does not contain: "
                          + entryName);
              }
          } finally {
              zip.close();
          }
      }
docs: Extracts the file given by entryName to destination.
  
  @param zipFile
  @param entryName
  @param destination
  The extracted destination File.
  @throws IOException