using System;
using System.Collections.Generic;
using System.Text;
namespace Compression
{
public class DeflateCompression : ICompression
{
public DeflateCompression()
{
}
#region ICompression 成员
public void Compress(System.IO.Stream orgStream, System.IO.Stream cmpStream)
{
System.IO.Compression.DeflateStream zipStream = new System.IO.Compression.DeflateStream(cmpStream, System.IO.Compression.CompressionMode.Compress);
byte[] buffer = new byte[1024 * 10];
int offset = 0;
while (true)
{
int bytesRead = orgStream.Read(buffer, offset, 1024 * 10);
if (bytesRead == 0)
{
break;
}
zipStream.Write(buffer, 0, bytesRead);
}
}
public void DeCompress(System.IO.Stream cmpStream, System.IO.Stream orgStream)
{
System.IO.Compression.DeflateStream zipStream = new System.IO.Compression.DeflateStream(cmpStream, System.IO.Compression.CompressionMode.Decompress);
byte[] buffer = new byte[1024 * 10];
int offset = 0;
while (true)
{
int bytesRead = zipStream.Read(buffer, offset, 1024 * 10);
if (bytesRead == 0)
{
break;
}
orgStream.Write(buffer, 0, bytesRead);
}
}
#endregion
}
}
using System.Collections.Generic;
using System.Text;
namespace Compression
{
public class DeflateCompression : ICompression
{
public DeflateCompression()
{
}
#region ICompression 成员
public void Compress(System.IO.Stream orgStream, System.IO.Stream cmpStream)
{
System.IO.Compression.DeflateStream zipStream = new System.IO.Compression.DeflateStream(cmpStream, System.IO.Compression.CompressionMode.Compress);
byte[] buffer = new byte[1024 * 10];
int offset = 0;
while (true)
{
int bytesRead = orgStream.Read(buffer, offset, 1024 * 10);
if (bytesRead == 0)
{
break;
}
zipStream.Write(buffer, 0, bytesRead);
}
}
public void DeCompress(System.IO.Stream cmpStream, System.IO.Stream orgStream)
{
System.IO.Compression.DeflateStream zipStream = new System.IO.Compression.DeflateStream(cmpStream, System.IO.Compression.CompressionMode.Decompress);
byte[] buffer = new byte[1024 * 10];
int offset = 0;
while (true)
{
int bytesRead = zipStream.Read(buffer, offset, 1024 * 10);
if (bytesRead == 0)
{
break;
}
orgStream.Write(buffer, 0, bytesRead);
}
}
#endregion
}
}
本文提供了一个使用C#实现的简单压缩与解压缩类,利用.NET Framework的DeflateStream进行流压缩与解压操作。
2293

被折叠的 条评论
为什么被折叠?



