您的位置:首页 > 编程语言 > C#

C# 使用Csharp.Mobile.Zip压缩工具进行压缩与解压缩

2018-01-17 13:26 423 查看
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//引入流操作命名空间
using System.IO;
//引入压缩相关的命名空间
using ICSharpCode.SharpZipLib.GZip;

/// <summary>
/// 压缩管理类
/// </summary>
public class CompressManager
{
/// <summary>
/// 压缩字节数组
/// </summary>
public byte[] CompressBytes(byte[] wantCompresData)
{
using (MemoryStream compressStream = new MemoryStream())
{
using (GZipOutputStream gipStream = new GZipOutputStream(compressStream))
{
gipStream.Write(wantCompresData, 0, wantCompresData.Length);
}
return compressStream.ToArray();
}
}

/// <summary>
/// 解压字节数组
/// </summary>
public byte[] DesCompressBytes(byte[] wantDesCompressData)
{
//int index = 0;
byte[] depres = null;
using (MemoryStream desCompressStream = new MemoryStream(wantDesCompressData))
{
using (GZipInputStream gizpStream=new GZipInputStream(desCompressStream))
{
//临时的内存流
MemoryStream re = new MemoryStream();
int count = 0;
//这个库里面构造最大4096
byte[] data = new byte[2];
while ((count = gizpStream.Read(data, 0, data.Length)) != 0)
{
//index ++;
//Debug.Log(index);
re.Write(data, 0, count);
}
depres = re.ToArray();
}
return depres;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# Csharp.Mobile.Zip