【问题标题】:Read content of RAR files using C#使用 C# 读取 RAR 文件的内容
【发布时间】:2010-11-04 18:45:09
【问题描述】:

有什么方法可以读取 RAR 文件的内容(必须支持多文件 RAR)?

我不想将内容提取到磁盘,只是像流一样读取它。

【问题讨论】:

标签: c# stream rar


【解决方案1】:

与 7z.dll 一起使用的低级库(支持 rar 档案,包括多部分,与 .net 流一起使用):

C# (.net) interface for 7-Zip archive dlls

以及基于第一个的更多高级库:

SevenZipSharp

【讨论】:

    【解决方案2】:

    从 nuget 安装 NUnrar

    RarArchive file = RarArchive.Open("rar file path");//@"C:\test.rar"
                        foreach (RarArchiveEntry rarFile in file.Entries)
                        {
                            string path = "extracted file path";//@"C:\"
                            rarFile.WriteToDirectory(path);
    
                        }
    

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 不。我查看的所有示例都提取到磁盘。
      • 不像流那样读取它只是读取内容文件名并将它们放在文本框中
      【解决方案4】:

      我的 unrar 项目,http://nunrar.codeplex.com/ 旨在成为非常 .NETty 并支持流式传输。如果您需要其他东西,请建议或给我一个补丁。

      【讨论】:

      • 这是我目前使用的!非常感谢您提供的出色产品!
      【解决方案5】:

      另一种可能性是使用包含 rar 命令行可执行文件作为应用程序资源并通过 System.Diagnostics.Process 调用它。

      您可能想要重定向输入/输出流。

      【讨论】:

        【解决方案6】:

        如果您想直接访问存储在未压缩 rar 文件中的文件,那么this answer 可能有用。

        ReScene 是一个重建项目 从提取的文件中提取 rar 档案。 为此,您需要一个 .srr 文件。这 源代码可用。你可能想要 看看 RarStream.cs

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-14
          • 1970-01-01
          • 2018-11-12
          • 2012-09-29
          • 2019-03-10
          • 2016-11-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多