adoconnection / SevenZipExtractor

C# wrapper for 7z.dll
MIT License
307 stars 83 forks source link
7zip dotnet dotnet-core extractor

SevenZipExtractor

C# wrapper for 7z.dll (x86 and x64 included)

NuGet NuGet

Every single star makes maintainer happy! ⭐

NuGet

Install-Package SevenZipExtractor

Supported formats:

Examples

Extract all

using (ArchiveFile archiveFile = new ArchiveFile(@"Archive.ARJ"))
{
    archiveFile.Extract("Output"); // extract all
}

Extract to file or stream

using (ArchiveFile archiveFile = new ArchiveFile(@"Archive.ARJ"))
{
    foreach (Entry entry in archiveFile.Entries)
    {
        Console.WriteLine(entry.FileName);

        // extract to file
        entry.Extract(entry.FileName);

        // extract to stream
        MemoryStream memoryStream = new MemoryStream();
        entry.Extract(memoryStream);
    }
}

Guess archive format from files without extensions

using (ArchiveFile archiveFile = new ArchiveFile(@"c:\random-archive"))
{
    archiveFile.Extract("Output"); 
}

Guess archive format from streams

WebRequest request = WebRequest.Create ("http://www.contoso.com/file.aspx?id=12345");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

using (ArchiveFile archiveFile = new ArchiveFile(response.GetResponseStream())
{
    archiveFile.Extract("Output"); 
}

Wiki

7z.dll

7z.dll (x86 and x64) will be added to your BIN folder automatically.

License

Changelog

1.0.17 / 2022.04.08

1.0.16 / 2021.01.17

1.0.15 / 2020.01.14

1.0.14