在路上...
BlogJava
首页
新随笔
联系
聚合
管理
16 Posts :: 2 Stories :: 31 Comments :: 0 Trackbacks
公告
时光荏苒,岁月流逝,仅以此纪念那一段走过来的开发岁月,希望哪天回首时,仍能想起一幕幕难忘的日子。
一个新的尝试,开始、而不知何时结束...
[BlogJava分站]
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
Extjs相关
JAVA相关(12)
PowerBuilder(1)
分享(1)
随笔档案
2008年7月 (1)
2008年6月 (4)
2008年1月 (1)
2007年10月 (2)
2007年9月 (1)
2007年4月 (1)
2007年1月 (1)
2006年9月 (1)
2005年12月 (1)
2005年10月 (1)
2005年9月 (1)
文章分类
java软件研究(2)
文章档案
2006年9月 (1)
2005年10月 (1)
网站链接
[cnblogs]在路上...
搜索
积分与排名
积分 - 22211
排名 - 518
最新评论
1. re: 使用openssl生成自签名证书、配置SSL
Office文档控件
--王细东
2. re: JIRA 3.3.2注册与DSA签名算法研究
唉,实在惭愧,还不知怎么用。
--lucktu
3. re: Oracle JDBC驱动与时间不见了的问题
好
--北京时间
4. re: Oracle整合BEA,WEBLogic的License可以免费下载了[未登录]
现在的问题是我想知道10.0的license怎么用啊
--船长
5. re: Oracle JDBC驱动与时间不见了的问题
楼主你好,请问你MSN多少,或者你加我也可以, yqwcn@hotmail.com,谢谢了
--yqw
阅读排行榜
1. Oracle整合BEA,WEBLogic的License可以免费下载了(4180)
2. WebLogic配置文件Config.xml中的{3DES}加密字符串的解密思路(3004)
3. 1分钟Java程序快速转换为windows服务运行(2380)
4. Intellij idea v7.0 注册码(2151)
5. 集成struts+spring的新思路(1645)
评论排行榜
1. Oracle JDBC驱动与时间不见了的问题(8)
2. Oracle整合BEA,WEBLogic的License可以免费下载了(7)
3. 集成struts+spring的新思路(7)
4. Zlib压缩算法在java与delphi之间的交互实现(3)
5. Resin Pro 3.1.2 Plugin for IntelliJ IDEA (2)
Zlib压缩算法在java与delphi之间的交互实现
一个典型应用中,使用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
}
2、DELPHI中的实现
在DELPHI中,有第3方的控件可以利用来实现压缩/解压,这里我们选择VCLZIP V3.04,可以从这里下载
http://www.vclzip.net
为了提高通用性,我们可以编写一个标准的DLL,就可以在Win32平台随意调用了,关键代码如下:
function
Cmip_CompressStr(txt: PChar): pchar; stdcall;
var
zip: TVclZip;
compr:
string
;
data: PChar;
begin
zip :
=
TVclZip.Create(nil);
compr :
=
zip.ZLibCompressString(txt);
data :
=
pchar(Base64EncodeStr(compr));
Result :
=
StrNew(data);
zip.Free
end
;
function
Cmip_DeCompressStr(txt: PChar): pchar; stdcall;
var
zip: TVCLUnZip;
compr:
string
;
data: PChar;
begin
zip :
=
TVCLUnZip.Create(nil);
compr :
=
zip.ZLibDecompressString(Base64DecodeStr(txt));
data :
=
StrNew(pchar(compr));
Result :
=
data;
zip.Free
end
;
在我们当前的项目中,采用的方案是Powerbuilder +DLL与J2EE平台进行xml数据交换的方式。
posted on 2007-10-10 10:35
在路上...
阅读(1427)
评论(3)
编辑
收藏
所属分类:
JAVA相关
Feedback
#
re: Zlib压缩算法在java与delphi之间的交互实现
2007-10-11 07:14
大道自然
能详细解释一下是如何交换数据的吗?服务器端是做成Servlet?web service?还是其他的方式?
谢谢!
回复
更多评论
#
re: Zlib压缩算法在java与delphi之间的交互实现
2007-10-20 16:59
midea0978
web service不会觉得太麻烦了吗?就用Servlet或者struts action还更方便!
回复
更多评论
#
re: Zlib压缩算法在java与delphi之间的交互实现
2008-03-16 11:33
冬雷软件
怎么调用这些函数呢.
回复
更多评论
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
使用openssl生成自签名证书、配置SSL
Oracle JDBC驱动与时间不见了的问题
Oracle整合BEA,WEBLogic的License可以免费下载了
JDBC驱动补丁与连接Oracle的一些错误
Intellij idea v7.0 注册码
Zlib压缩算法在java与delphi之间的交互实现
Resin Pro 3.1.2 Plugin for IntelliJ IDEA
集成struts+spring的新思路
WebLogic配置文件Config.xml中的{3DES}加密字符串的解密思路
XDB与tomcat 8080端口冲突的解决办法
Powered by:
BlogJava
Copyright © 在路上...