Java通过Gzip工具对数据进行压缩。
这里主要以压缩和解压缩字符串工具为例。
`import org.apache.commons.lang.StringUtils;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
/**
-
gzip压缩与解压缩
-
@author dai
*/
public class GZipUtil {/**
- 压缩字符串
- @param content 内容
- @return
- @throws IOException
*/
public static String compress(String content) throws IOException {
if (StringUtils.isBlank(content)) {
return content;
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(content.getBytes());
gzip.close();
return out.toString(“ISO-8859-1”);
}
/**
- 解压缩字符串
- @param content 内容
- @return
- @throws IOException
*/
public static String uncompress(String content) throws IOException {
if (StringUtils.isBlank(content)) {
return content;
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
ByteArrayInputStream in = new ByteArrayInputStream(content
.getBytes(“ISO-8859-1”));
GZIPInputStream gunzip = new GZIPInputStream(in);
byte[] buffer = new byte[256];
int n;
while ((n = gunzip.read(buffer)) >= 0) {
out.write(buffer, 0, n);
}
return out.toString();
}
}
`