C# ZIP压缩工具小程序实现 支持多个文件和文件夹
来源:互联网 发布:满档水龙数据 编辑:程序博客网 时间:2024/05/16 09:27
C# ZIP压缩工具小程序实现 支持多个文件和文件夹
主要用到了一个SharpLibZip.dll库
1、内部算法 -- 支持多个文件和文件夹
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using ICSharpCode.SharpZipLib;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Checksums;
namespace ZipUnZipLib{
// <summary>
/// 压缩类
/// </summary>
public class ZipClass
{
/// <summary>
/// 递归压缩文件夹方法
/// </summary>
/// <param name="FolderToZip"></param>
/// <param name="s"></param>
/// <param name="ParentFolderName"></param>
private bool ZipFileDictory(string FolderToZip, ZipOutputStream s, string ParentFolderName)
{
bool res = true;
string[] folders, filenames;
ZipEntry entry = null;
FileStream fs = null;
Crc32 crc = new Crc32();
try{
//创建当前文件夹
entry = new ZipEntry(Path.Combine(ParentFolderName, Path.GetFileName(FolderToZip) + "/")); //加上 “/” 才会当成是文件夹创建
s.PutNextEntry(entry);
s.Flush();
//先压缩文件,再递归压缩文件夹