C#实现文件夹压缩到zip以及解压
需要用到SharpLibZip。代码如下:
Zip.cs
public class Zip
{
/// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="dirPath">压缩文件夹的路径</param>
/// <param name="fileName">生成的zip文件路径</param>
/// <param name="level">压缩级别 0 - 9 0是存储级别 9是最大压缩</param>
/// <param name="bufferSize">读取文件的缓冲区大小</param>
public void CompressDirectory(string dirPath,string fileName,int level,int bufferSize)
{
byte[] buffer = new byte[bufferSize];
using (ZipOutputStream s = new ZipOutputStream(File.Create(fileName)))
{
s.SetLevel(level);
CompressDirectory(dirPath, dirPath, s, buffer);
s.Finish();
s.Close();
}
}
/// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="root">压缩文件夹路径</param>
/// <param name="path">压缩文件夹内当前要压缩的文件夹路径</param>
/// <param name="s"></param>
//
{
/// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="dirPath">压缩文件夹的路径</param>
/// <param name="fileName">生成的zip文件路径</param>
/// <param name="level">压缩级别 0 - 9 0是存储级别 9是最大压缩</param>
/// <param name="bufferSize">读取文件的缓冲区大小</param>
public void CompressDirectory(string dirPath,string fileName,int level,int bufferSize)
{
byte[] buffer = new byte[bufferSize];
using (ZipOutputStream s = new ZipOutputStream(File.Create(fileName)))
{
s.SetLevel(level);
CompressDirectory(dirPath, dirPath, s, buffer);
s.Finish();
s.Close();
}
}
/// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="root">压缩文件夹路径</param>
/// <param name="path">压缩文件夹内当前要压缩的文件夹路径</param>
/// <param name="s"></param>
//
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,
部份技术文章来自网络,