场景

ICSharpCode.SharpZipLib.dll 下载:

https://download.csdn.net/download/badao_liumang_qizhi/11586902

实现

新建Winform窗体程序。

打开资源管理器-引用-右键-添加--浏览

选择刚才上面下载的ICSharpCode.SharpZipLib.dll,点击确定。

右击项目-添加-类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ProtoBufTest
{[Serializable]class Person{public Person(int id ,string password) {this.Id = id;this.Password = password;}private int id;public int Id{get { return id; }set { id = value; }}private string password;public string Password{get { return password; }set { password = value; }}}
}

在窗体上拖拽一个Button按钮,然后双击进其点击事件。

 private void button7_Click(object sender, EventArgs e){DateTime begin = DateTime.Now;Console.WriteLine("二进制压缩开始" + begin.ToString("yyyy-MM-dd HH:mm:ss"));//初始化数据for (int i = 0; i < 10000; i++){personList.Add(new Person(i,"密码"+i));}try{//创建内存流对象MemoryStream ms = new MemoryStream();                 //序列化对象BinaryFormatter formatter = new BinaryFormatter();formatter.Serialize(ms, this.personList);//把内存流对象写入字节数组                  byte[] buffer = ms.ToArray();//关闭内存流对象ms.Close();//释放资源                                 ms.Dispose();                                                            FileStream fs = File.Create(@"E:\testdata1\Record3.zip");//创建文件//创建zip输出流ZipOutputStream zipOutputStream = new ZipOutputStream(fs, buffer.Length);//ZipEntry用于表示Zip文件条目 --将会在压缩文件中创建Record3.data文件ZipEntry entry = new ZipEntry("Record3.data");//将其放进压缩文件中zipOutputStream.PutNextEntry(entry);//将字节数组写入文件zipOutputStream.Write(buffer, 0, buffer.Length);zipOutputStream.Finish();zipOutputStream.Close();zipOutputStream.Dispose();//关闭流fs.Close();//释放对象fs.Dispose();                                                          }catch (Exception ex){Console.WriteLine(ex.Message);}DateTime end = DateTime.Now;TimeSpan ts = end - begin;Console.WriteLine("二进制压缩结束" + end.ToString("yyyy-MM-dd HH:mm:ss"));Console.WriteLine("共花费 " + ts.TotalSeconds);}

具体使用见注释。

运行效果

将其解压

C#中将list进行序列化并使用SharpZipLib进行压缩相关推荐

  1. C#中将list使用ProtoBuf进行序列化并使用SharpZipLib进行压缩

    场景 C#中使用ProtoBuf提高序列化速度对比二进制序列化: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99850052 ...

  2. Java基础19:IO流—缓冲流、转换流、序列化、打印流、压缩流和解压流

    IO流中的一些其他流:缓冲流.转换流.序列化.打印流.压缩流和解压流 1. 缓冲流 IO流除了一些基本的流,还有在此基础上发展出来的一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流,能够 ...

  3. 【序列化】Java中将使用PHP序列化工具将数据序列化

    在项目中需要和PHP公用一个MySQL数据库,有些数据需要序列化之后保存,这就需要将待存储的数据序列化之后存到数据库中,取出的时候,需要反序列化之后才能正常使用. 原数据: {"060088 ...

  4. C#使用ICSharpCode.SharpZipLib.dll压缩文件夹和文件

    大家可以到http://www.icsharpcode.net/opensource/sharpziplib/ 下载SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, ...

  5. C#利用ICSharpCode.SharpZipLib.dll压缩文件和解压文件

    /// <summary>  /// 压缩文件  /// </summary> using System; using System.IO; using ICSharpCode ...

  6. 用SharpZipLib来压缩和解压文件 --zt

    from:http://www.cnblogs.com/zhangweiguo3984/archive/2007/03/15/314333.html#675634 1.建立工程,添加引用,添加Shar ...

  7. ICSharpCode.SharpZipLib 开源压缩库使用示例

    官方网站:http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 插件描述: ICSharpCode.SharpZipLib.dl ...

  8. python的文件读写,序列化,复制/删除目录,压缩/解压缩/列出压缩文件目录,计算CRC32和MD5

    import json import os import shutil import pickle import zlib import binascii import hashlib import ...

  9. 使用SharpZipLib.dll压缩zip

    /// <summary>         /// zip压缩         /// </summary>         /// <param name=" ...

最新文章

  1. 报错:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
  2. C#学习笔记——MDI窗体(多文档界面)
  3. element组件库中table自定义分页效果
  4. Uber提出有创造力的POET:自行开发更困难环境和解决方案
  5. Java9都快发布了,Java8的十大新特性你了解多少呢?
  6. android图片异步加载解决步骤
  7. 通过userAgent判断用户浏览器
  8. 【小工具】仿站小工具的使用及下载
  9. html静态网页制作代码
  10. 华为狼性文化遭质疑,那我们当个佛系程序员可好?
  11. Linux系统管理员对普通用户的基本操作
  12. 计算机网络之无线与移动网络-蜂窝网络
  13. 概率密度变换公式 雅可比矩阵_连续型随机变量“分布函数”与“概率密度”之间求变换公式...
  14. android pdf修改字体大小,如何编辑pdf文字(安卓上最好的pdf笔记app)
  15. 送男孩子情人节礼物送什么?情人节必备礼物合集
  16. Real-Time Rendering 4th Edition 实时渲染第四版 第五章 着色基础(Shading Basics)
  17. 两种领导力:温柔与严厉
  18. 基于python/scipy学习概率统计(3):正态分布
  19. hud抬头显示器哪个好_什么样的HUD抬头显示器好?圆盾用是实力说话
  20. python pickle and json

热门文章

  1. Spring AOP实现原理解析
  2. weblogic 安装教程
  3. 虚拟机的分类_「面试必备」Java虚拟机知识点复习手册(下)
  4. wav文件头修复_标记管理音频文件工具:Yate for Mac
  5. iphone定时关机_成都苹果维修点教你iPhone手机死机、关不了机怎么处理?
  6. 微型计算机1tb等于,计算机应用基础第一套试卷100分
  7. java横线_知识点:java一些方法会有横线?以Date 过期方法为例
  8. java gc信息_JVM之GC回收信息详解
  9. 华为鸿蒙搭载芯片,独立188天,荣耀50系列破冰!6nm芯片,不搭载鸿蒙
  10. 海南大计算机与网络,2010-2014年海南省计算机与网络发展情况