当前位置: 首页 > news >正文

JAVA HTTP压缩数据

/*** 压缩数据包** @param code* @param data* @param resp* @throws IOException*/protected void writeZipResult(int code, Object data, HttpServletResponse resp) throws IOException {resp.setHeader("Content-Encoding", "gzip");// write到客户端resp.setContentType("application/json;charset=utf-8");ApiResult ret = new ApiResult();ret.setData(data);ret.setCode(code);byte[] compressedData = null;ByteArrayOutputStream baos = null;GZIPOutputStream gzos = null;byte[] bytes = null;try {baos = new ByteArrayOutputStream();gzos = new GZIPOutputStream(baos);bytes = JSON.toJSONString(ret).getBytes(StandardCharsets.UTF_8);gzos.write(bytes);gzos.finish();compressedData = baos.toByteArray();logger.info("Original data len:{} after compression len:{} compression rate:{}", bytes.length, compressedData.length, compressedData.length * 1.0 * 100 / bytes.length);} catch (Exception e) {logger.error("Compressed data is abnormal", e);} finally {if (gzos != null) {gzos.close();}if (baos != null) {baos.close();}}if (compressedData != null) {// 设置Content-Lengthresp.setContentLength(compressedData.length);resp.getOutputStream().write(compressedData);resp.getOutputStream().flush();}}

压缩结果能达到 90%以上
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/509333.html

相关文章:

  • VSCode 配置远程连接免密登录 插件
  • VIVO C++开发面试题及参考答案
  • Unity3D用正则判断身份证号或邮箱
  • 【终端工具】FinalShell v4.5.12 官方版
  • 【阅读记录-章节6】Build a Large Language Model (From Scratch)
  • 面向未来的教育技术:智能成绩管理系统的开发
  • Mac系统下 IDEA配置Maven本地仓库
  • shell脚本定义特殊字符导致执行mysql文件错误的问题
  • 【C++ 基础】构造和析构
  • C语言项目 天天酷跑(上篇)
  • Python读取Excel批量写入到PPT生成词卡
  • NS3学习——tcpVegas算法代码详解(1)
  • 相机雷达外参标定综述“Automatic targetless LiDAR–camera calibration: a survey“
  • 【Java基础-27】Java中的访问修饰符:分类、作用及应用场景
  • Redis+注解实现限流机制(IP、自定义等)
  • SAP从入门到放弃系列之委外分包(Subcontracting)-Part1
  • nlp新词发现——浅析 TF·IDF
  • WebGL2示例项目常见问题解决方案
  • 鸿蒙元服务从0到上架【第三篇】(第二招有捷径)
  • Jimureport h2命令执行分析记录
  • vue 集成 webrtc-streamer 播放视频流 - 解决阿里云内外网访问视频流问题
  • 进网许可认证、交换路由设备检测项目更新25年1月起
  • Provides transitive vulnerable dependency maven 提示依赖存在漏洞问题的解决方法
  • WebAuthn 项目常见问题解决方案
  • LeetCode 844. 比较含退格的字符串 (C++实现)
  • Python8-写一些小作业
  • C++ STL vector基本原理和用法
  • 【计算机视觉基础CV-图像分类】05 - 深入解析ResNet与GoogLeNet:从基础理论到实际应用
  • 【人工智能-初级】基于用户的协同过滤推荐算法
  • 如何识别钓鱼邮件和诈骗网站?(附网络安全意识培训PPT资料)