Read content of RAR files using C#

2019-01-13 16:54发布

Is there any way to read the content of a RAR file (support for multi-file RAR is a must)?

I don't want to extract the content to the disk, just read it like a stream.

标签: c# stream rar
6条回答
虎瘦雄心在
2楼-- · 2019-01-13 17:21

Install NUnrar from nuget

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楼-- · 2019-01-13 17:27

If you want to directly access files stored in uncompressed rar files, then this answer might be of use.

ReScene is a project for recreating rar archives from the extracted files. You need a .srr file for this. The source code is available. You may want to take a look at RarStream.cs.

查看更多
成全新的幸福
4楼-- · 2019-01-13 17:29

Low level lib to work with 7z.dll (supports rar archives, incliding multi-part, works with .net streams):

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

And more high-level lib based on the first one:

SevenZipSharp

查看更多
我欲成王,谁敢阻挡
5楼-- · 2019-01-13 17:29
放我归山
6楼-- · 2019-01-13 17:30

My unrar project, http://nunrar.codeplex.com/ aims to be very .NETty and has streaming support. If you need something else, please suggest or give me a patch.

查看更多
贼婆χ
7楼-- · 2019-01-13 17:30

Another possibility is using including the rar command-line executable as application ressource and call it via System.Diagnostics.Process.

You may want to redirect the input/output stream.

查看更多
登录 后发表回答