当前位置:编程学习 > C#/ASP.NET >>

C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件)

之前不喜欢玩博客,这次在博客园也注册了这个博客玩玩。
可是没什么内容,所以想随便添加点什么吧。


最近在微软开发的几个小工具,大多跟文件操作/IO相关,所以准备这两天整理一下,把一些也许可以和大家分享的东西贴出来,希望对于一些C#的初学者有一些帮助吧!
(更多示例代码,可以访问微软学习者帮助网站 Code smaples from microsoft: http://1code.codeplex.com ,下载微软的All-in-onecode framework  ,这是我最近在Microsoft要接手负责开发的一个供开发者学习的工具,里面可以搜索到有很多示例代码可供学习者参考。)

 

C#打包zip文件可以调用现成的第三方dll,事半功倍,而且该dll完全免费,下载地址:SharpZipLib

下载完解压缩后,把 ICSharpCode.SharpZipLib.dll 拷贝到当前项目的目录下(如果偷懒的话,可以直接拷贝到当前项目的binDebug目录下),在VS打开的项目引用上右键添加引用 ICSharpCode.SharpZipLib.dll

然后,在VS打开的项目上右键新建一个类,命名为 ZipHelper.cs,把类里面的所有code清空,复制以下代码,粘贴:

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Diagnostics;
using ICSharpCode.SharpZipLib;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Checksums;
using ICSharpCode.SharpZipLib.Core;
  
namespace ZipOneCode.ZipProvider
{
    public class ZipHelper
    {
        /// <summary>
        /// 压缩文件
        /// </summary>
        /// <param name="sourceFilePath"></param>
        /// <param name="destinationZipFilePath"></param>
        public static void CreateZip(string sourceFilePath, string destinationZipFilePath)
        {
            if (sourceFilePath[sourceFilePath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
                sourceFilePath += System.IO.Path.DirectorySeparatorChar;
  
            ZipOutputStream zipStream = new ZipOutputStream(File.Cr
补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,