当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

Java对数据库的字符串字段举行压缩保存的尝试[Java编程]

赞助商链接



  本文“Java对数据库的字符串字段举行压缩保存的尝试[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

数据字段普通都是保存原文的,一来便利在数据库改正和保护,而来有一些查询要用到它.但是在有些时刻,我们无需保存原文了,比方在论坛,博客等数据里的内容字段,普通利用Clob范例,其很少参与搜索,并且就算要全文检索,我们也不举荐利用数据库的like 等,而应当用第三方的全文检索工具,比方lucene等实现.

这类数据都是大量的文本数据,有很大的可压缩性.由于一些缘由,我的数据库已经超越我能容忍的大小了,所以想到了能否可以把这个数据压缩存储来节俭空间,于是有了以下的尝试.

压缩算法就先不过量考虑了,就用Zip举行尝试便可以了.先看看若何把字符串压缩和解压缩的算法.

package com.laozizhu.article.util;
import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
/**
 * 把字符串利用ZIP压缩和解压缩的代码.
 * 
 * @author JAVA世纪网(java2000.net, laozizhu.com)
 */  
public class StringZip {
  public static String zipString(String str) {
    try {
      ByteArrayOutputStream bos = null;
      GZIPOutputStream os = null;
      byte[] bs = null;
      try {
        bos = new ByteArrayOutputStream();
        os = new GZIPOutputStream(bos);
        os.write(str.getBytes());
        os.close();
        bos.close();
        bs = bos.toByteArray();
        return new String(bs, "iso-8859-1");
      } finally {
        bs = null;
        bos = null;
        os = null;
      }
    } catch (Exception ex) {
      return str;
    }
  }
  public static String unzipString(String str) {
    ByteArrayInputStream bis = null;
    ByteArrayOutputStream bos = null;
    GZIPInputStream is = null;
    byte[] buf = null;
    try {
      bis = new ByteArrayInputStream(str.getBytes("ISO-8859-1"));
      bos = new ByteArrayOutputStream();
      is = new GZIPInputStream(bis);
      buf = new byte[1024];
      int len;
      while ((len = is.read(buf)) != -1) {
        bos.write(buf, 0, len);
      }
      is.close();
      bis.close();
      bos.close();
      return new String(bos.toByteArray());
    } catch (Exception ex) {
      return str;
    } finally {
      bis = null;
      bos = null;
      is = null;
      buf = null;
    }
  }
}


  以上是“Java对数据库的字符串字段举行压缩保存的尝试[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .