首页 > 编程语言 >c#实现文件压缩的方法

c#实现文件压缩的方法

时间:2023-10-30 15:11:06浏览次数:34  
标签:文件 zipFilePath Exists c# 压缩 压缩文件 sourceFilePath zipFileName string

// 实现一个压缩文件的方法
public static void CompressFile(string sourceFilePath, string zipFilePath)
{
    // 如果文件没有找到,则报错
    if(!File.Exists(sourceFilePath))
    {
        throw new FileNotFoundException(sourceFilePath + "文件不存在!");
    }
    // 如果压缩文件没有找到,则进行创建
    if(!Directory.Exists(zipFilePath))
    {
        Directory.CreateDirectory(zipFilePath);
    }
    // 压缩文件的名称
    var zipFileName = zipFilePath + "\\" + Path.GetFileNameWithoutExtension(sourceFilePath) + ".zip";
    // 如果压缩文件存在,则进行删除
    if(File.Exists(zipFileName))
    {
        File.Delete(zipFileName);
    }
    // 开始压缩文件
    ZipFile.CreateFromDirectory(sourceFilePath, zipFileName);
}

方法示例

string sourceFilePath = "C:\\path\\to\\source\\file.txt";
string zipFilePath = "C:\\path\\to\\zip\\folder";

CompressFile(sourceFilePath, zipFilePath);

标签:文件,zipFilePath,Exists,c#,压缩,压缩文件,sourceFilePath,zipFileName,string
From: https://www.cnblogs.com/ouyangkai/p/17797901.html

相关文章

  • 一文详解如何从 Oracle 迁移数据到 DolphinDB
    Oracle是一个广泛使用的关系型数据库管理系统,它支持ACID事务处理,具有强大的安全性和可靠性,因此被广泛应用于各种企业级应用程序。但是,随着数据规模的增加和业务需求的变化,Oracle的一些限制和缺点也逐渐暴露出来。例如,Oracle的许可证费用昂贵,而且对于海量数据的处理能力较弱。......
  • SHCTF(山河)赛事部分Write up-白猫
    SHCTF(山河)赛事部分Writeup-白猫MISC[WEEK1]签到题下载题目并打开:base128编码:Wm14aFozdDBhR2x6WDJselgyWnNZV2Q5因为是base128编码,所以通过两次base64解码,即可得出flag爆出flag:flag{this_is_flag}**总结: **这道签到题主要考察了对base64编码的基础了解[WEEK1]Steganography下载题......
  • 硬盘销毁、文件销毁、数据销毁
    硬盘销毁、文件销毁、数据销毁以及物料销毁是在信息安全领域中非常重要的环节。这些销毁过程旨在确保敏感信息不被泄露,避免不必要的风险和责任。下面将详细介绍这些销毁过程。一、硬盘销毁硬盘是计算机系统中最重要的存储设备之一,其中可能包含大量的敏感数据。为了确保硬盘中的数据......
  • 2023正畸年会开幕Vincialign达芬奇发布全新产品X系列
    中华口腔医学会口腔正畸专业委员会第二十二次全国口腔正畸学术会议(以下简称“2023正畸年会”)10月26日于西安隆重开幕。沪鸽集团旗下的Vincialign达芬奇隐形正畸品牌荣幸参与此次盛会,与正畸同仁积极交流,共同探讨隐形正畸领域的创新与发展。作为一家全流程智能化、数字化隐形正畸解决......
  • EF Core 6.0.0.7无法将add-migration项识别为 cmdlet
    EFCore6.0.0.7无法将add-migration项识别为cmdlet解决方案:重新安装Microsoft.EntityFrameworkCore.Tools程序包管理器控制台主机版本6.2.1.2键入"get-helpNuGet"可查看所有可用的NuGet命令。PM>install-packageMicrosoft.EntityFrameworkCore.Tools......
  • emscripten基于llvm的webassembly 编译器
    emscripten是一个基于llvm的webassembly编译器包含的特性可移植支持编译现有的c,c++以及其他语言项目,使用lvvm编译为支持nodejs,浏览器,以及wasm运行时运行的服务提供apis支持将openGL转换为WebGL,pthreads转换为webapi。。。快速集成了不少工具(llvm,emscripten,binar......
  • c#使用委托执行带有超时检查的方法
    namespaceTimeOutHelper{internalclassProgram{//定义一个泛型委托,用于定义带有超时检查的方法的签名publicdelegateTRTimeOutDelegate<inT,outTR>(Tparam);privatestaticvoidMain(){Dictionary<Guid,string>result;//调用Timeo......
  • Centos8进入单用户模式重置密码方法
    开机出现grubbootloader开机选项菜单时,立即点击键盘任意鍵,bootloader会暂停。按下e,编辑选项菜单,移动上下鍵至linux16核心命令行:加入rd.break。linux16/vmlinuz-3.10.0-123.el7.x86_64root=UUID=449d53d1-84c2-40c0-b05e-d1900591d71brord.lvm.lv=vg_kvm7usb/swapcra......
  • 数据结构与算法 | 二分搜索(Binary Search)
    二分搜索(BinarySearch)文承上篇,搜索算法中除了深度优先搜索(DFS)和广度优先搜索(BFS),二分搜索(BinarySearch)也是最基础搜索算法之一。二分搜索也被称为折半搜索(Half-intervalSearch)也有说法为对数搜索算法(LogarithmicSearch),用于在已排序的数据集中查找特定元素。搜索过程从排序数......
  • JavaScript 中的单例模式
    单例模式是JavaScript中最流行的设计模式之一。单例模式的优点全球访问点:提供对实例的单点访问,可以轻松管理全球资源。内存效率:该模式确保只有一个实例,这特别节省内存。延迟初始化:仅在需要时才创建实例,从而提高性能这是一种创建模式,可确保类只有一个实例,同时提供对该实例......