public static void zip(File src, File destDir, String charSetName, boolean includeSrc) throws IOException {
		String fileName = src.getName();
		if (!src.isDirectory()) {
			int pos = fileName.lastIndexOf(".");
			if (pos > 0) {
				fileName = fileName.substring(0, pos);
			}
		}
		fileName += ".zip";

		File zippedFile = new File(destDir, fileName);
		if (!zippedFile.exists()) {
			zippedFile.createNewFile();
		}
		FileOutputStream os = null;
		try {
			os = new FileOutputStream(zippedFile);
			zip(src, os, charSetName, includeSrc);
		} finally {
			IOUtils.closeQuietly(os);
		}
	}
Compresses the given src file(or directory) and create the compressed
file under the given destDir.

@param src         src to be zipped.
@param destDir     destination directory
@param charSetName character set to be used
@param includeSrc  true if sub-directory will be zipped as well.
@throws IOException IOException
ngrinder-core/src/main/java/org/ngrinder/common/util/CompressionUtils.java