GZIP压缩、解压缩工具类:

  1. public class GZIPUtiles {
  2.  
  3. public static String compress(String str) throws IOException {
  4. if (null == str || str.length() <= 0) {
  5. return str;
  6. }
  7.  
  8. // 创建一个新的输出流
  9. ByteArrayOutputStream out = new ByteArrayOutputStream();
  10. // 使用默认缓冲区大小创建新的输出流
  11. GZIPOutputStream gzip = new GZIPOutputStream(out);
  12. // 将字节写入此输出流
  13. gzip.write(str.getBytes("utf-8")); //因为后台默认字符集有可能是GBK字符集,所以此处需指定一个字符集
  14. gzip.close();
  15. // 使用指定的 charsetName,通过解码字节将缓冲区内容转换为字符串
  16. return out.toString("ISO-8859-1");
  17. }
  18.  
  19. public static String unCompress(String str) throws IOException {
  20. if (null == str || str.length() <= 0) {
  21. return str;
  22. }
  23. // 创建一个新的输出流
  24. ByteArrayOutputStream out = new ByteArrayOutputStream();
  25. // 创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组
  26. ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes("ISO-8859-1"));
  27. // 使用默认缓冲区大小创建新的输入流
  28. GZIPInputStream gzip = new GZIPInputStream(in);
  29. byte[] buffer = new byte[256];
  30. int n = 0;
  31.  
  32. // 将未压缩数据读入字节数组
  33. while ((n = gzip.read(buffer)) >= 0){
  34. out.write(buffer, 0, n);
  35. }
  36. // 使用指定的 charsetName,通过解码字节将缓冲区内容转换为字符串
  37. //String string = out.toString("utf-8");
  38. //String unescapeJava = StringEscapeUtils.unescapeJava(string);
  39. return out.toString("utf-8");
  40. }
  41.  
  42. }

GZIP压缩、解压缩工具类的更多相关文章

  1. AntZipUtils【基于Ant的Zip压缩解压缩工具类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 Android 压缩解压zip文件一般分为两种方式: 基于JDK的Zip压缩工具类 该版本存在问题:压缩时如果目录或文件名含有中文, ...

  2. ZIP解压缩工具类

    import java.io.File; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.Expan ...

  3. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2 新增解压缩工具类ZipHelper

    在项目对文件进行解压缩是非常常用的功能,对文件进行压缩存储或传输可以节省流量与空间.压缩文件的格式与方法都比较多,比较常用的国际标准是zip格式.压缩与解压缩的方法也很多,在.NET 2.0开始,在S ...

  4. Java操作zip压缩和解压缩文件工具类

    需要用到ant.jar(这里使用的是ant-1.6.5.jar) import java.io.File; import java.io.FileInputStream; import java.io ...

  5. Java压缩字符串工具类

    StringCompressUtils.java package javax.utils; import java.io.ByteArrayInputStream; import java.io.By ...

  6. 图片压缩java工具类

    package com.net.util; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.Fil ...

  7. 压缩图片工具类,压缩100KB以内拿走直接用

    最近遇到自拍上传图片过大问题,很烦恼,所以自己写了一个压缩图片的工具类使用,自测效果很不错,可以压缩到KB以内,像素还可以分辨清晰 下面Java代码奉上: import lombok.extern.s ...

  8. gzip压缩解压缩

    压缩/解压缩压缩/解压缩之后的文件名称 必须是gz 解压缩

  9. C# 解压缩工具类GZip

    using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using ...

随机推荐

  1. iOS基础 - 多线程线程

    一.多线程的应用 l 充分发挥多核处理器的优势,并发(同时执行)执行任务让系统运行的更快.更流畅 二.进程与线程概念 l 一个运行的程序就是一个进程或者叫做一个任务 l 一个进程至少包含一个线程,线程 ...

  2. 手机APP下单支付序列图

    今天安装了Visio,学习了下如何使用,画了一下公司现在项目的下单支付序列图,话就不多说了,直接上图,处女作,欢迎指正!

  3. CODEFORCES ROUND #273 DIV2

    题目大意: A简单的说就是,有五个人,他们刚开始有B元,经过一系列过程后,给你他们现在分别有的钱,让你求出B(> <难得的傻逼题啊...但是要注意B是正整数!特判0) B有n个人,要分成m ...

  4. hive UDAF开发入门和运行过程详解(转)

    介绍 hive的用户自定义聚合函数(UDAF)是一个很好的功能,集成了先进的数据处理.hive有两种UDAF:简单和通用.顾名思义,简单的UDAF,写的相当简单的,但因为使用Java反射导致性能损失, ...

  5. iOS多线程的初步研究

    iOS多线程的初步研究(四) 理解run loop后,才能彻底理解NSTimer的实现原理,也就是说NSTimer实际上依赖run loop实现的. 先看看NSTimer的两个常用方法: + (NST ...

  6. echarts 某省下钻某市地图

    因为最近工作需要,接触到了highcharts 与echarts ,对比了一下,目前公司系统用的是highcharts的图表插件,就不想再去用echarts的图标插件了,奈何highcharts地图对 ...

  7. WebView 实现MiniBrowser

    package org.hjw.minibrowser; import android.os.Bundle; import android.app.Activity; import android.v ...

  8. Python学习入门基础教程(learning Python)--5.7 Python文件数据记录存储与处理

    本节主要讨论Python下如何通过文件操作实现对数据记录集的存储与处理的操作方法. 在Python里和其他高级语言一样可以通过文件读写将一些记录集写入文件或者通过文件读操作从文件里读取一条或多条和数据 ...

  9. 移植rtmpdump(librtmp)到android

    编译环境:(rtmpdump-master.zip和Polar SSL版本已经打包上传,具体路径在http://download.csdn.net/detail/gyley2/5721061) win ...

  10. android 组件内部实现触摸事件,更改背景

    当我们需要实现触摸事件的时候,通常就会想到OnTouchEvent这个方法,它能够获取触摸点的坐标,而组件同样也有这样的一个功能,使用这个功能,可以实现组件在父布局界面上移动,缩放,更改背景图片.这里 ...