c#压缩和解压缩
2016-04-12 14:50
411 查看
--1.ClassBinary
2.使用
public class ClassBinary { public ClassBinary() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 压缩 /// </summary> /// <param name="ds"></param> /// <returns></returns> public byte[] CompressToBytes(DataSet ds) { DataSetSurrogate dss = new DataSetSurrogate(ds); BinaryFormatter ser = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); ser.Serialize(ms, dss); byte[] buffer = ms.ToArray(); byte[] zipBuffer = new CompressionHelper(CompressionLevel.BestSpeed).CompressToBytes(buffer); return zipBuffer; } /// <summary> /// 解压 /// </summary> /// <param name="zipBuffer"></param> /// <returns></returns> public DataSet DecompressToBytes(byte[] zipBuffer) { if (zipBuffer == null) return null; byte[] buffer = new CompressionHelper().DecompressToBytes(zipBuffer); BinaryFormatter ser = new BinaryFormatter(); DataSetSurrogate dss = ser.Deserialize(new MemoryStream(buffer)) as DataSetSurrogate; DataSet dsZip = dss.ConvertToDataSet(); return dsZip; } }
2.使用
1、压缩 DataSet ds = new DataSet();//假设的ds byte[] byte = new ClassBinary().CompressToBytes(ds ); 2、解压缩 DataSet ds2 =new ClassBinary().DecompressToBytes(byte);
相关文章推荐
- C# 利用ZedGraph控件画简单折线图示例
- C#自动实现Dll(OCX)控件注册的两种方法
- C#使用Cookie方法
- c#代码规范和质量检查工具这点事
- c# string 数组转 list
- C# Winform 删除信息提示
- C# 中的委托和事件
- C# Email发送
- C#文件操作
- c#指针和寻址运算
- [C#] 静态方式实现的单例是不是懒汉模式?
- C#界面控件DotNetBar使用详解
- c#程序内存分配
- myself C# template 格式规范
- WindowsCE project missing Microsoft.CompactFramework.CSharp.targets in Visual Studio 2008
- [转]C# 线程知识--使用Task执行异步操作
- C# 开启大地址内存以应对32位机器内存不够用问题
- C#基础(二)
- C# WinForm 技巧:COMBOBOX搜索提示
- C# 通过socket实现UDP 通信