读书人

怎么覆盖.zip中的文件

发布时间: 2012-02-26 20:19:44 作者: rapoo

如何覆盖.zip中的文件
我想覆盖.zi中某个文件,在程序中如何编程。现在遇到这样一个项目,对word2007进行模板开发。因为word2007文档后面加上.zip后缀名后解压后会生成很多xml文档,当我对某个xml 文档进行编辑后,拖动到 压缩文件中,再去掉.zip后缀名,打开
word文档,则会显示修改后的内容。现在在程序可以可以实现:修改文件名、解压文件、修改文件,但是如何把修改的文件
覆盖压缩文件中内容呢,请高手帮忙看看,再次发帖,我相信一定会有高人的。

[解决办法]
很简单的嘛,先说你用什么 zip 库或者 zip 控件,以及 delphi 版本,否则难说。
[解决办法]
单独的更新不知道怎么做,因为这个涉及到Shell操作
不过如果你使用控件的话就很简单了,直接先解压出来,然后更新,最后再用控件重新压缩一遍
[解决办法]
是啊 简单点的就是解压覆盖再压缩了,但可能不适用于较大体积的zip文件。
[解决办法]
当然,我也不同意解压后替换文件再压缩这种低效率的代码。
不过,VCLZIP 貌似是有版权的?
所以我自己一般用http://sourceforge.net/projects/tpabbrevia/这个组件,开源,免费,turbo power 出品嘛,turbo power 一系列东西以前可是商业收费组件哦。
不过这个组件的麻烦之处是需要修改源代码的一个地方,因为它是靠文件名来识别压缩文件类型的。。。
所以,我推荐的另外一个好东西就是 kazip 这个东西,免费,开源,速度快。不用修改源代码,使用方法和 tpabbrevia 接近。
再插一句,VCLZIP 貌似速度比较慢,这个纯我个人观点。。。
如果你只操作纯正 zip 文件,那么我建议你使用 kazip
废话说完了;
至于这两者的例子很简单,都自带 demo。

边看边写吧,如果有什么困难,可以在这里提出来,我尽量回答。

PS: 我就是一个业余学 delphi 的玩,不要问我什么高深的问题,我不会哈。

读书人网 >.NET

热点推荐