• 使用SharpZip压缩与解压缩


    使用SharpZip压缩与解压缩

    编写人:左丘文

     

    2015-4-11

    大家在做项目时,相信会经常性的会遇到要对数据流或dataset byte[] 文件进行压缩和解压缩,比如:利用webservice进行数据的更新与下载,如果在文件过大,如果不压缩相信肯定是传输入失败,今天在这里,我想与大家一起分享一下利用国外一开源的sharpzip类作为解压缩类来操作解压缩代码,在此做个小结,以供参考。有兴趣的同学,可以一同探讨与学习一下,否则就略过吧。

     

    1、 之前做过一项目,该项目中有一个要与总部同步数据功能,客户端是通过internet与总部进行通讯,数据的传递,我们利用的是webservice,传递的数据是dataset,刚开始我是直接将dataset当作参数,直接传递,数据小的时候,没什么问题,但数据一大,就基本上是失败的。这时候,我们就必须用到了压缩了,我们在传输前先对其进行压缩,服务器接收后,再进行解压,更新到服务器数据库中。

    2、 我们可以在 http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 下载源码。

    以下是我下载后的webservice的整体框架图:

          

    3、 Sharpzip完整代码

         View Code

    1)         我们这里参数前面部分是以object的形式输入,返回为byte[],并且这些都是成队使用。

    2)         后面部分可以直接将byte[]作为参数输入,并压缩后返回byte[],当然这里也是压缩与解压都是成对使用。

    4、 Sharpzip基类的功能,其实主要用于对文件的压缩,以下是对文件压缩的操作代码:

    1)   对文件的操作,以下代码转自,大家可以详细看看。

    http://blog.itpub.net/12639172/viewspace-553427/

          View Code

    2)   另外也有一个写得相当不错,大家可以参考一下(并且有源码下载) http://www.xocoder.com/archives/1050

    5、 有关更多的技术分享,大家可以加入我们的技术群,进行源码的分享。

     

    欢迎加入技术分享群:238916811

  • 相关阅读:
    一个家伙与javascript的故事
    Quick-Cocos2dx 3.3中关于cc.ScaleTo动作不能得到预期效果
    vim的youcompleteme插件安装过程
    MAC OS上编译mod_wsgi不成功问题的解决办法
    Quick-Cocos2dx中对一个Node的所有成员应用灰色滤镜
    Sublime text安装各种插件
    Quick-Cocos2dx 3.3编译android版本
    bootstrap轮播,播放到最后一张图片的时候,就不正确了。
    Apache2.2 + php5配置
    swift 笔记
  • 原文地址:https://www.cnblogs.com/bribe/p/4428679.html
Copyright © 2020-2023  润新知