12

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

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

4

6 回答 6

13

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

用于 7-Zip 归档 dll 的 C# (.net) 接口

还有更多基于第一个的高级库:

SevenZipSharp

于 2009-06-22T07:42:30.427 回答
3

从 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);

                    }
于 2016-06-03T10:08:02.273 回答
1

Chilkat Rar 库

更具体:链接

于 2009-06-22T07:30:12.683 回答
1

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

于 2011-02-04T09:46:32.047 回答
0

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

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

于 2011-02-02T10:38:37.823 回答
0

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

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

于 2011-04-01T11:32:15.357 回答