C# 构造文件和文件夹压缩软件

本文档介绍了一个C#编程实验,目标是构建一个文件和文件夹压缩软件。实验涉及创建ZipHelper类,使用ICSharpCode.SharpZipLib库实现压缩和解压缩功能,并构建图形用户界面。通过VS2019和.NET Framework 4.7.2,创建ZIPAPP项目,并使用NuGet包管理器安装必要的库。
摘要由CSDN通过智能技术生成

C# 构造文件和文件夹压缩软件

一、引言

实验目的

通过制作一个小项目,学习C#的图形化编程。

实验任务

构造文件和文件夹压缩软件

  • 通过压缩算法实现一个文件或者文件夹的压缩
  • 构建相应的图形用户界面,并生成release版本

实验环境

  • VS2019
  • .NET Framework 4.7.2
  • ICSharpCode.SharpZipLib.dll

二、 实验过程

准备工作

将设置转化为C# 设置

在这里插入图片描述

建立ZIPAPP项目,选择建立图形用户界面项目

在这里插入图片描述

项目说明:

  • ZipHelper.cs 为文件压缩解压缩提供支持
  • Form.cs 建立UI界面

运用VS中自带的NuGet包,安装ICSharpCode.SharpZipLib库

在这里插入图片描述

开始编程
  • 创建ZipHelper类,调用ICSharpCode,在此类中实现对于文件文件夹的压缩,实现对于文件夹的解压缩

导入ICSharpCode.SharpZipLib库

using ICSharpCode.SharpZipLib.Zip;
using System;
using System.IO;
using ICSharpCode.SharpZipLib.Checksum;

由于英文文档比较混乱,且最近墙比较高,所以直接参考晚上的各种版本的运用ICSharpCode的例子

一、建立ZipHelper类
  • 首先实现对于单个文件的压缩,然后递归遍历文件夹,实现对文件夹的压缩
public bool ZipDirectory(string folderToZip, string zipedFile, string password)
        {
   
            bool result = false;
            if (!Directory.Exists(folderToZip))
                return result;

            ZipOutputStream zipStream = new ZipOutputStream(File.Create(zipedFile));
            zipStream.SetLevel(6);
            if (!string.IsNullOrEmpty(password)) zipStream.Password = password;
            

            result = ZipDirectory(folderToZip, zipStream, "");

            zipStream.Finish();
            zipStream.Close();

            return result;
        }

        /// <param name="folderToZip">要压缩的文件夹路径</param>   
        /// <param name="zipedFile">压缩文件完整路径</param>   
        public bool ZipDirectory(string folderToZip, string zipedFile)
        {
   
            bool result = ZipDirectory(folderToZip, zipedFile, null);
            return result;
        }
  • 同理,创建解压缩的函数
 public bool UnZip
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值