C# 通过SharpCompress.Archives.Rar解压RaR文件

csharp 复制代码
	/// <summary>
	/// 解压一个Rar文件
	/// </summary>
	/// <param name="RarFile">需要解压的Rar文件(绝对路径)</param>
	/// <param name="TargetDirectory">解压到的目录</param>
	/// <param name="OverWrite">是否覆盖已存在的文件</param>
	public static void UnRar(string RarFile, string TargetDirectory, bool OverWrite = true)
	{
		//如果解压到的目录不存在,则报错
		if (!System.IO.Directory.Exists(TargetDirectory))
		{
			throw new System.IO.FileNotFoundException("指定的目录: " + TargetDirectory + " 不存在!");
		}
		using (var archive = SharpCompress.Archives.Rar.RarArchive.Open(RarFile))
		{
			foreach (var entry in archive.Entries)
			{
				if (!entry.IsDirectory)
				{
					entry.WriteToDirectory(TargetDirectory, new SharpCompress.Common.ExtractionOptions()
					{
						ExtractFullPath = true,
						Overwrite = OverWrite
					});
				}
			}
		}
	}

本机测试结果:

目前来看这种解压方式对于电脑有没有安装rar压缩软件并没有要求

(PS:我测试的电脑上安装的是7-zip,没有安装WinRaR软件)

相关推荐
程序猿追几秒前
立方体转到九十度:用 kotlin-math 核对鸿蒙上的两种旋转
android·开发语言·kotlin
nagualky1233 分钟前
GPT-4 系列退役在即:一套可回滚的模型迁移验收法
java·开发语言·ai·架构
Ai-_Man6 分钟前
DeepSeek生成的内容能否下载吗?
开发语言·javascript·人工智能·小程序·ecmascript
Evelvnk7 分钟前
计算机学习资料
开发语言·人工智能·计算机·php
geovindu18 分钟前
rust: Chain of Responsibility Pattern
开发语言·后端·设计模式·rust·责任链模式·行为模式
阿里嘎多学长21 分钟前
2026-10-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管
迪康coolmu21 分钟前
迪康Defender网络准入控制系统落地实战:部署、配置与问题排查记录
运维·开发语言·网络·经验分享·php
兰亭妙微UI设计公司22 分钟前
兰亭妙微分享:高手设计登录页的12种切入点
开发语言·前端·javascript
木由里予23 分钟前
3D NAND 闪存的可靠性
开发语言·嵌入式硬件
acd1200925 分钟前
Go 里 err 被不经意覆盖的几个现场
开发语言·后端·golang