import java.io.IOException;

import java.util.zip.GZIPOutputStream;

import org.apache.commons.io.output.ByteArrayOutputStream;

//该ByteArrayOutputStream类比jdk的同类好!细看其javadoc:In contrast to the original it doesn't reallocate the whole memory block but allocates additional buffers.

//(压缩都是基于字节码而非字符)

public class TextZip {

public static void main(String[] args) throws IOException {

byte[] bytes = "中文撒大撒大发送大大三大四大赛的温热她跟他中文撒大撒大发送大大大三送大大三大四大赛的温热她跟他中文撒大撒大发送大大大三大四大赛的温热她跟他中文撒大撒大发送大大三大四大赛的温热她跟他"

.getBytes();

//对bytes压缩

ByteArrayOutputStream byteOutput = new ByteArrayOutputStream(1024);

GZIPOutputStream gzipOutput = new GZIPOutputStream(byteOutput, 1024);

gzipOutput.write(bytes);

gzipOutput.close();

//验证一下压缩后的效果对比

System.out.println(bytes.length);

for (byte b : bytes) {

System.out.print(b + " ");

}

System.out.println();

byte[] bytes2 = byteOutput.toByteArray();

System.out.println(bytes2.length);

for (byte b : bytes2) {

System.out.print(b + " ");

}

}

}

效果:

270

-28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106 -28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -27 -92 -89 -28 -72 -119 -23 -128 -127 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106 -28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106 -28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106

90

31 -117 8 0 0 0 0 0 0 0 123 -78 99 -19 -77 105 -19 -49 38 77 122 -70 100 57 -124 124 -38 63 -15 101 67 35 -120 -79 100 -7 -109 29 -99 32 -58 -20 -39 64 -14 -59 -42 -39 -49 103 -75 60 -37 -79 -14 121 -13 -38 -89 75 119 -66 -40 62 -1 -55 -18 105 79 -16 106 -121 -104 64 93 -45 40 49 -127 -96 118 0 -76 10 12 52 14 1 0 0

分享到:

2010-11-30 14:06

浏览 3255

评论

java 文本压缩_[Java基础]Java使用GZIP进行文本压缩相关推荐

  1. java培训学费_零基础Java培训大概多少钱

    Java培训多少钱,这个问题是我们准备学习Java的小伙伴比较关注的,特别是从零基础开始来学习Java的小伙伴,对这个行业不太了解,为了防止上当受骗,了解清楚还是比较好的,那么零基础Java培训大概多 ...

  2. java无忧网_零基础java入门课程 - 学途无忧网 - 做技术的王者 - Powered By EduSoho

    { "i18nChapterName": "章", "i18nUnitName": "节", "i18nLes ...

  3. java学习笔记:零基础java学习路线+配套资料+书籍推荐

    公众号菜鸟名企梦2018年,精品文章汇总: 01 我的秋招 我的秋招offer 我的offer选择 秋招全面总结-必读宝典 求职必读 02 零基础学习路线 零基础-java学习路线(上) 零基础-ja ...

  4. java第一周_从计算机基础到流程控制语句(if_else)

    一.计算机基础 裸机 没有安装任何软件的计算机(无操作系统.无应用软件) 计算机的应用 1.科学计算 科学计算也称数值计算.计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的 ...

  5. 什么都不懂的学java难不难_零基础转行学java到底难不难

    不少零基础的新手想要转行学习java可是不知道难度,南京学码思下面就给大家详细的说一说转行java的难度,希望能帮助到各位想要了解java的同学. 零基础转行学java到底难不难 新手转行学java到 ...

  6. 0基础学java培训_零基础可以学习java课程么?零基础java培训需要多久?

    零基础可以学习java课程么? 第一.兴趣爱好是重要,总体目标很重要 在你学习培训java以前,一定要清晰自身对java是不是确实很感兴趣,還是一时头昏脑涨.终究学习培训java不仅要把握技术性,也要 ...

  7. 学java还是安卓_零基础学安卓好还是学java好

    零基础学安卓好还是学java好 关于Java的学习很多同学都有这样或者那样的疑问,比如我是自学Java好呢还是参加Java培训好呢?Java好学吗?安卓和java哪个难学等等.今天我们就先简单的来看两 ...

  8. java学习出师_没基础怎么学好java?120天出师

    有人说java比较容易入门,也有人说Java比较难学,这要根据个人的基础而定.但总体来说,java有着先天的优势,那Java有哪些优势呢?我们来具体看看吧. Java的优势 没基础怎么学java?当下 ...

  9. 我与Java的故事以及0基础Java自学之路(2022最新版)

    文章目录 我与Java的故事 一.JSP.Servlet推荐自学路线 二.Spring推荐自学路线 三 SpringMVC推荐自学路线 四 Mybatis.MyBatisPlus推荐自学路线 五 Sp ...

  10. java代码转换程序_怎么把java代码转换成程序

    1. 怎样将Java源代码转换成Java开应用程序 我试了一下,jbuilder生成的exe文件,在没有装jre的机器上不能运行,于是我就在该exe文件的同一位置提供一个jre目录,可是该exe文件不 ...

最新文章

  1. 牛逼!大神用漫画带你了解 Linux 内核到底长啥样
  2. jquery之行自加自减
  3. mysql 插入 删除_mysql插入、修改、删除
  4. python矩阵施密特标准型_矩阵与数值计算(3)——Schur标准型和Jordan分解
  5. 检测ID卡的输入或者是其它卡的输入。
  6. SELECT的学习以及在socket中的应用
  7. C/C++ 线程三种并发方式比较(传统互斥量加锁方式, no lock不加锁的方式, 原子函数方式)
  8. 【转载】Java NIO学习
  9. html5与css3基础教程课件,揭秘HTML5和CSS3教学幻灯片.ppt
  10. KITTI立体匹配数据集解析
  11. 在家也可以免费下载知网文献,5种免费下载知网文献方法
  12. Html+JavaScript猜数字游戏
  13. (三)Web模块:【5】Servlet3.0 与 SpringMVC 整合
  14. python程序发钉钉消息
  15. #64 Abstract Interpretation: Introduction #66 Galois Connections - 课程笔记
  16. Wind万得PythonAPI量化接口常用小工具——时序数据处理及工作日前推查询
  17. [解决方法]Your project file doesn't list 'win' as a RuntimeIdentifier.
  18. 本质安全设备标准(IEC60079-11)的理解(二)
  19. 黑金高速AD-DA模块使用
  20. 单项选择的php代码,php单项选择提交,该如何处理

热门文章

  1. axios的简单使用
  2. JPQL中使用LIKE进行模糊查询
  3. bootstrap-wysiwyg中JS控件富文本的用法
  4. 51nod 1287: 加农炮 好题啊好题
  5. Bootstrap系列 -- 38. 基础导航条
  6. windows下db2数据库的卸载
  7. [周年感悟]看软件项目中的四种角色
  8. 多线程同步之 WaitableTimer (等待定时器对象)[续三]
  9. textarea 自适应窗口|IE、firefox 显示同样的效果
  10. php 图片处理库 Imagick 代替 gd