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

	/// <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软件)
在这里插入图片描述

相关推荐

  1. pythonRAR文件

    2023-12-26 07:28:03       16 阅读
  2. Python压缩、文件

    2023-12-26 07:28:03       37 阅读
  3. Go 文件压缩

    2023-12-26 07:28:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-26 07:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-26 07:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-26 07:28:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-26 07:28:03       20 阅读

热门阅读

  1. Flink 日志总结

    2023-12-26 07:28:03       38 阅读
  2. 【WinForm.NET开发】数据绑定

    2023-12-26 07:28:03       31 阅读
  3. Kotlin 导包规则

    2023-12-26 07:28:03       37 阅读
  4. 31. Ajax

    31. Ajax

    2023-12-26 07:28:03      29 阅读
  5. 【Kotlin】Kotlin的stream流编程浅析

    2023-12-26 07:28:03       34 阅读
  6. *HTML: 超文本标记语言

    2023-12-26 07:28:03       35 阅读