使用C#读取RAR文件的内容

有没有办法读取RAR文件的内容(支持多文件RAR是必须的)?

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

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

7-Zip存档dll的C#(。net)接口

基于第一个的更高级别的lib:

SevenZipSharp

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

奇尔卡特拉尔图书馆

更具体: 链接

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

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

您可能希望重定向输入/输出流。

如果要直接访问存储在未压缩的 rar文件中的文件,则可能会使用此答案 。

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