java数据压缩
package com.istrong.noticeboard.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Base64; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; /** * @program: notice_board_platform * @ClassName compressUtil * @description: 数据压缩 * @author: 黄涛 * @create: 2024-12-10 10:02 * @Version 1.0 **/ public class CompressUtil { /** * 使用gzip压缩字符串 * * @param originString 要压缩的字符串 * @return 压缩后的字符串 */ public static String compress(String originString) { if (originString == null || originString.length() == 0) { return originString; } ByteArrayOutputStream out = new ByteArrayOutputStream(); try ( GZIPOutputStream gzip = new GZIPOutputStream(out); ) { gzip.write(originString.getBytes()); } catch (Exception e) { e.printStackTrace(); } return Base64.getEncoder().encodeToString(out.toByteArray()); } /** * 使用gzip解压缩 * * @param compressedString 压缩字符串 * @return */ public static String uncompress(String compressedString) { if (compressedString == null || compressedString.length() == 0) { return null; } ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] compressedByte = new byte[0]; try { compressedByte = Base64.getDecoder().decode(compressedString); } catch (Exception e) { e.printStackTrace(); } String originString = null; try ( ByteArrayInputStream in = new ByteArrayInputStream(compressedByte); GZIPInputStream ginzip = new GZIPInputStream(in); ) { byte[] buffer = new byte[1024]; int offset = -1; while ((offset = ginzip.read(buffer)) != -1) { out.write(buffer, 0, offset); } originString = out.toString(); } catch (IOException e) { e.printStackTrace(); } return originString; } }
吾乃代码搬运工,侵联删
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」