项目中一些大文本需要存数据库,为减少数据库的IO,对文本进行压缩。取出来的时候再解压缩
/**
* 字符串压缩
* @param input
* @return
*/
public static final byte[] compress(byte[] input) {
if (input == null) {
return null;
}
Deflater compressor = new Deflater();
compressor.setLevel(Deflater.BEST_SPEED); //调整压缩策略,这里使用了最快速的压缩方式
compressor.setInput(input);
compressor.finish();
int len = input.length;
ByteArrayOutputStream bos = new ByteArrayOutputStream(len);
while (!compressor.finished()) {
byte[] buf = new byte[len];
int count = compressor.deflate(buf);
if (count > 0) {
bos.write(buf, 0, count);
}
}
return bos.toByteArray();
}
/**
* 解压缩
* @param compressed
* @return
*/
public static final byte[] decompress(byte[] compressed) {
if (compressed == null) {
return null;
}
try {
Inflater decompressor = new Inflater();
decompressor.setInput(compressed);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int len = compressed.length << 2;
while (!decompressor.finished()) {
byte[] buf = new byte[len];
int count = decompressor.inflate(buf);
if (count > 0) {
bos.write(buf, 0, count);
}
}
return bos.toByteArray();
} catch (DataFormatException e) {
return compressed;
}
}
分享到:
相关推荐
- 读取压缩字符串,每次取出一个编码,根据编码在字典中找到对应的子串,并添加到解压后的字符串中。 - 更新字典,将新生成的子串(当前解压字符串+下一个编码对应的子串的第一个字符)添加到字典。 - 重复此过程...
字符串的压缩和解压,java语言编写,zip实现,代码编写
根据给定文件的信息,本文将围绕“字符串的压缩与解压”这一主题展开,深入探讨字符串压缩和解压的基本原理、实现方法以及应用场景等多方面内容。 ### 字符串压缩和解压概述 字符串的压缩与解压是计算机科学中的一...
在IT领域,字符串压缩是一种常见的数据压缩技术,用于减少存储空间和提高传输效率。这个名为“字符串压缩程序.rar”的压缩包包含了一个特定的程序代码,它利用了zip算法来实现字符串的压缩。对于初学者来说,这是一...
以下是使用Delphi和ZLib库进行gzip字符串压缩和解压的详细步骤: 1. **压缩gzip字符串**: - 首先,你需要将`ZLib`库导入到Delphi项目中。这通常涉及到将`DelphiZLib.123`这样的库文件添加到你的项目路径中,并...
字符串压缩通常基于特定的算法,如霍夫曼编码、LZ77、LZ78、Run-Length Encoding (RLE) 或者Burrows-Wheeler Transform (BWT)。这些算法的目标是减少字符串的存储空间,通过识别和利用字符串中的重复模式或统计特性...
通过`java.util.zip`包提供的工具类,可以方便地实现文件压缩与解压缩操作。需要注意的是,在实际应用过程中还需要考虑异常处理、资源释放等细节问题,以确保程序的稳定性和安全性。此外,还可以进一步优化缓冲区...
华为机考2017:字符串解压缩算法,通过率100%
标题中的“字符串压缩”指的是在计算机科学中,对文本数据进行编码优化的技术,以减少存储空间的需求。在处理大量文本信息时,这种技术尤为重要,因为它可以显著降低存储和传输的成本。压缩通常涉及到查找数据中的...
在Python编程语言中,字符串压缩是一个常见的操作,特别是在处理大量文本数据时,为了节省存储空间,我们会使用压缩算法。本节我们将深入探讨Python中的字符串压缩技术,并以标题"Python123之字符串压缩#134865"为...
在IT领域,字符串压缩是一种常见的数据处理技术,用于减少存储空间的需求,特别是在处理大量文本数据时。这个"string-yasuo.zip_字符串压缩"的压缩包文件似乎包含了一个专门用于字符串压缩的程序,旨在提高程序的...
为了解决这个问题,可以对RTF字符串进行压缩,以减少传输的数据量。 在DELPHI中,我们可以利用各种压缩库或算法来实现字符串的压缩。例如,ZLib库提供了一套完整的压缩和解压缩功能,包括常用的Deflate算法。以下是...
在Python编程语言中,字符串压缩是一项重要的数据处理技术,它用于减少存储空间需求或在网络传输时减小数据量。Python提供了多种内置库和第三方库来实现字符串的压缩和解压缩功能。以下是关于Python字符串压缩的一些...
本文将介绍如何自定义一个简单的字符串压缩和解压缩的方法,使用.NET框架内置的`System.IO.Compression.GZipStream`类。 首先,让我们分析`ZipLib`类中的`Zip`方法。这个方法接收一个字符串`value`作为输入,其目的...
使用以下代码进行压缩和解压 /// /// 利用ICSharpCode压缩 /// /// <param name="param"></param> /// <returns></returns> public static string IC_Compress(string param) { byte[] data = System....
本主题聚焦于在Delphi环境下使用gZip进行字符串解压,这涉及到两个主要的知识点:一是gZip压缩算法,二是Delphi编程语言中的解压实现。 首先,我们来了解gZip压缩算法。gZip是一种广泛使用的数据压缩格式,基于...
【免费题库】华为OD机试 - 一种字符串压缩表示的解压(Java & JS & Python & C & C++).html付费专栏内容,免费下载,多种语言解法