code: public static File zip(File zipFile, String[] paths, InputStream[] ins, Charset charset) throws UtilException {
  		if (ArrayUtil.isEmpty(paths) || ArrayUtil.isEmpty(ins)) {
  			throw new IllegalArgumentException("Paths or ins is empty !");
  		}
  		if (paths.length != ins.length) {
  			throw new IllegalArgumentException("Paths length is not equals to ins length !");
  		}
  
  		ZipOutputStream out = null;
  		try {
  			out = getZipOutputStream(zipFile, charset);
  			for (int i = 0; i < paths.length; i++) {
  				addFile(ins[i], paths[i], out);
  			}
  		} finally {
  			IoUtil.close(out);
  		}
  		return zipFile;
  	}
docs: 对流中的数据加入到压缩文件<br>
  路径列表和流列表长度必须一致
  
  @param zipFile 生成的Zip文件，包括文件名。注意：zipPath不能是srcPath路径下的子文件夹
  @param paths 流数据在压缩文件中的路径或文件名
  @param ins 要压缩的源
  @param charset 编码
  @return 压缩文件
  @throws UtilException IO异常
  @since 3.0.9