Zlib压缩算法在Java与Delphi间交互实现

发表于:2008-04-28来源:作者:点击数: 标签:javaJAVAJava算法Zlib
关键字: 一个典型应用中,使用delphi作为客户端,J2EE服务端,两者之间用XML作为数据交换,为了提高效率,对XML数据进行压缩,为此需要找到一种压缩/解压算法能够两个平台之间交互处理,使用ZLIB算法就是一个不错的 解决方案 。 1、JAVA实现 在JDK中,在 ja
关键字:
 

一个典型应用中,使用delphi作为客户端,J2EE服务端,两者之间用XML作为数据交换,为了提高效率,对XML数据进行压缩,为此需要找到一种压缩/解压算法能够两个平台之间交互处理,使用ZLIB算法就是一个不错的解决方案

1、JAVA实现

在JDK中,在java.util.zip包中已经内置了ZLIB的实现,示例代码如下:

1//解压
2 public String decompressData(String encdata) {
3 try {
4 ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
5 InflaterOutputStream zos = new InflaterOutputStream(bos); 
6 zos.write(convertFromBase64(encdata)); 
7 zos.close(); 
8 return new String(bos.toByteArray()); 
9 } catch (Exception ex) {
10 ex.printStackTrace(); 
11 return "UNZIP_ERR"; 
12 }
13 }
14
15 //压缩
16 public String compressData(String data) {
17 try {
18 ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
19 DeflaterOutputStream zos = new DeflaterOutputStream(bos); 
20 zos.write(data.getBytes()); 
21 zos.close(); 
22 return new String(convertToBase64(bos.toByteArray())); 
23 } catch (Exception ex) {
24 ex.printStackTrace(); 
25 return "ZIP_ERR"; 
26 }
27 }

原文转自:http://www.ltesting.net