使用 ICSharpCode.SharpZipLib.dll 压缩文件 方法实例
2012-01-07 14:11
513 查看
/// <summary>
/// 使用 ICSharpCode.SharpZipLib.dll 压缩文件 方法实例
/// </summary>
/// <param name="FileToZip">需要被压缩的文件路径</param>
/// <param name="ZipedFile">压缩后(zip)文件路径</param>
/// <param name="filename">压缩包内文件的名称</param>
/// <param name="CompressionLevel">压缩级数(0-9)</param>
/// <param name="BlockSize">单次读取字节数(2048/4096/..)</param>
public void ZipFile(string FileToZip, string ZipedFile, string filename, int CompressionLevel, int BlockSize)
{
System.IO.FileStream StreamToZip = new System.IO.FileStream(FileToZip, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.FileStream ZipFile = System.IO.File.Create(ZipedFile);
ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
ZipEntry ZipEntry = new ZipEntry(filename);
ZipStream.PutNextEntry(ZipEntry);
ZipStream.SetLevel(CompressionLevel);
byte[] buffer = new byte[BlockSize];
System.Int32 size = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, size);
try
{
while (size < StreamToZip.Length)
{
int sizeRead = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, sizeRead);
size += sizeRead;
}
}
catch (System.Exception ex)
{
throw ex;
}
ZipStream.Finish();
ZipStream.Close();
StreamToZip.Close();
}
/// 使用 ICSharpCode.SharpZipLib.dll 压缩文件 方法实例
/// </summary>
/// <param name="FileToZip">需要被压缩的文件路径</param>
/// <param name="ZipedFile">压缩后(zip)文件路径</param>
/// <param name="filename">压缩包内文件的名称</param>
/// <param name="CompressionLevel">压缩级数(0-9)</param>
/// <param name="BlockSize">单次读取字节数(2048/4096/..)</param>
public void ZipFile(string FileToZip, string ZipedFile, string filename, int CompressionLevel, int BlockSize)
{
System.IO.FileStream StreamToZip = new System.IO.FileStream(FileToZip, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.FileStream ZipFile = System.IO.File.Create(ZipedFile);
ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
ZipEntry ZipEntry = new ZipEntry(filename);
ZipStream.PutNextEntry(ZipEntry);
ZipStream.SetLevel(CompressionLevel);
byte[] buffer = new byte[BlockSize];
System.Int32 size = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, size);
try
{
while (size < StreamToZip.Length)
{
int sizeRead = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, sizeRead);
size += sizeRead;
}
}
catch (System.Exception ex)
{
throw ex;
}
ZipStream.Finish();
ZipStream.Close();
StreamToZip.Close();
}
相关文章推荐
- 基于(ICSharpCode.SharpZipLib.dll)的文件压缩方法,类文件
- C#/ASP.NET/WinForm 通过ICSharpCode.SharpZipLib.dll实现文件夹、文件的压缩与解压
- ASP.NET生成压缩文件(rar打包)ICSharpCode.SharpZipLib.dll
- C# 压缩文件 ICSharpCode.SharpZipLib.dll
- 压缩解压目录和文件--ICSharpCode.SharpZipLib.dll 算法 (转)
- ICSharpCode.SharpZipLib.dll 使用方法
- ICSharpCode.SharpZipLib.dll 压缩多文件
- C# ICSharpCode.SharpZipLib.dll文件压缩和解压功能类整理,上传文件或下载文件很常用
- zip (ICSharpCode.SharpZipLib.dll文件需要下载)
- C#文件压缩:ICSharpCode.SharpZipLib生成zip、tar、tar.gz
- ICSharpCode.SharpZipLib.dll实现压缩解压一个树形目录
- ICSharpCode.SharpZipLib.dll压缩的zip包,7zip解压时出错
- ICSharpCode.SharpZipLib 实现文件压缩功能,可以压缩空文件夹
- C#+ICSharpCode.SharpZipLib.dll实现压缩解压缩功能
- C#使用ICSharpCode.SharpZipLib.dll进行文件的压缩与解压功能
- ICSharpCode.SharpZipLib.dll实现压缩解压一个树形目录
- ICSharpCode.SharpZipLib.dll实现压缩解压一个树形目录
- c# ICSharpCode.SharpZipLib压缩文件时附带空文件夹
- ICSharpCode.SharpZipLib 开源压缩库使用示例
- 网络传输压缩DLL: ICSharpCode.SharpZipLib