code: public static byte[] unGzip(InputStream in, int length) throws UtilException {
  		GZIPInputStream gzi = null;
  		FastByteArrayOutputStream bos = null;
  		try {
  			gzi = (in instanceof GZIPInputStream) ? (GZIPInputStream)in : new GZIPInputStream(in);
  			bos = new FastByteArrayOutputStream(length);
  			IoUtil.copy(gzi, bos);
  		} catch (IOException e) {
  			throw new UtilException(e);
  		} finally {
  			IoUtil.close(gzi);
  		}
  		//返回必须在关闭gos后进行，因为关闭时会自动执行finish()方法，保证数据全部写出
  		return bos.toByteArray();
  	}
docs: Gzip解压处理
  
  @param in Gzip数据
  @param length 估算长度，如果无法确定请传入{@link #DEFAULT_BYTE_ARRAY_LENGTH}
  @return 解压后的数据
  @throws UtilException IO异常
  @since 4.1.18