code: public static void zipDir(final File srcDir, final String destPath, final File destFile) throws IOException {
  
          zipDir(srcDir, null, destPath, destFile);
  
      }
docs: Creates a ZIP file and adds all files in a directory and all it's sub directories to the archive.
  
  @param srcDir
  Directory to add - Cannot be <code>null</code> and must be a valid directory.
  @param destPath
  Path to use for the ZIP archive - May be <code>null</code> or an empyt string.
  @param destFile
  Target ZIP file - Cannot be <code>null</code>.
  
  @throws IOException
  Error writing to the output stream.