Odczyt zawartości plików RAR za pomocą C#

Czy Jest jakiś sposób na odczytanie zawartości pliku RAR (obsługa wielu plików RAR jest koniecznością)?

Nie chcę rozpakowywać zawartości na dysk, tylko czytać ją jak strumień.

Author: ThinkingStiff, 2009-06-22

6 answers

Low level lib to work with 7z.dll (obsługuje archiwa rar, w tym wieloczęściowe, współpracuje ze strumieniami. Net):

Interfejs C# (. Net) dla bibliotek DLL archiwum 7-Zip

I bardziej lib wysokiego szczebla oparty na pierwszym:

SevenZipSharp

 13
Author: arbiter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-22 07:42:30

Zainstaluj NUnrar z 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);

                    }
 2
Author: Syam Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-03 10:08:02
 1
Author: RvdK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-22 08:27:40

Mój projekt unrar, http://nunrar.codeplex.com / ma być bardzo .NETty i obsługuje strumieniowanie. Jeśli potrzebujesz czegoś innego, zaproponuj lub daj mi łatkę.

 1
Author: adamhathcock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-04 09:46:32

Inną możliwością jest użycie pliku wykonywalnego z linii poleceń rar jako ressource aplikacji i wywołanie go przez System.Diagnostyka.Proces.

Możesz chcieć przekierować strumień wejścia/wyjścia.

 0
Author: Stefan Steiger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-02 10:38:37

Jeśli chcesz uzyskać bezpośredni dostęp do plików przechowywanych w nieskompresowanych plikach rar, to ta odpowiedź może być przydatna.

Recene to projekt służący do odtwarzania archiwum rar z wyodrębnionych plików. Potrzebujesz ./ align = "left" / Na kod źródłowy jest dostępny. Możesz chcieć aby spojrzeć na RarStream.cs .

 0
Author: Gfy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:30:58