ZIP do 7z C#

W tym wpisie na blogu przeprowadzimy Cię przez proces konwersji archiwum ZIP do formatu 7z przy użyciu języka C#. Format 7z jest znany ze swojego wysokiego współczynnika kompresji i jest szeroko stosowany do zmniejszania rozmiaru pliku, co czyni go idealnym do wydajnego przechowywania i przesyłania. Pokażemy, jak wdrożyć konwersję, stosując podejście krok po kroku.

Dlaczego warto konwertować format ZIP do 7z?

Istnieje kilka powodów, dla których warto przekonwertować pliki ZIP do formatu 7z:

  • Zmniejsz rozmiar plików: Format 7z zapewnia lepszą kompresję w porównaniu do formatu ZIP.

  • Poprawa wydajności: Mniejsze rozmiary plików oznaczają szybsze przesyłanie, pobieranie i transferowanie.

  • Wyższy współczynnik kompresji: Format 7z kompresuje pliki wydajniej, zmniejszając ich rozmiar i optymalizując przechowywanie.

Konwerter archiwów ZIP do 7z — konfiguracja interfejsu API C#

Aby przekonwertować archiwa ZIP do formatu 7z, należy zainstalować Conholdate.Total for .NET przy użyciu następującego polecenia instalacyjnego NuGet w środowisku IDE programu Microsoft Visual Studio:

PM> NuGet\Install-Package Conholdate.Total

Konwersja ZIP do 7z w C#

Aby przekonwertować ZIP na 7z w języku C#, wykonaj poniższe kroki:

  • Archiwum: To reprezentuje plik ZIP, który chcesz przekonwertować. Klasa Archiwum jest używana do otwierania i odczytywania pliku ZIP.

  • SevenZipArchive: Ta klasa służy do tworzenia i zapisywania archiwum 7z.

  • SevenZipEntrySettings: Określa ustawienia kompresji dla formatu 7z. W tym przypadku używamy algorytmu kompresji LZMA2 w celu uzyskania maksymalnej wydajności kompresji.

  • MemoryStream: Dane pliku są kopiowane do pamięci za pomocą strumienia, a każdy wpis z pliku ZIP jest dodawany do nowego archiwum 7z.

Poniższy przykładowy kod pokazuje, jak przekonwertować kod ZIP na 7z w języku C#:

using (Archive source = new Archive("source.zip"))
{
    using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                mem.Seek(0, SeekOrigin.Begin);
                archive.CreateEntry(entry.Name, mem);
            }
        }
        archive.Save("result.7z");
    }
}

Bezpłatna licencja ewaluacyjna

Możesz otrzymać bezpłatną tymczasową licencję, aby móc ocenić różne konwersje lub manipulacje archiwów po swojej stronie.

Wniosek

Postępując zgodnie z powyższymi krokami, możesz łatwo przekonwertować plik ZIP do formatu 7z w C#. Wyższa wydajność kompresji formatu 7z sprawia, że jest to doskonały wybór do zmniejszania rozmiarów plików, co pomaga poprawić wydajność podczas obsługi dużych archiwów. W przypadku konieczności omówienia niejasności skontaktuj się z nami na forum.

Często zadawane pytania

Czy mogę zabezpieczyć archiwum 7z hasłem?

Tak, format 7z obsługuje zaawansowane szyfrowanie, co pozwala zabezpieczyć archiwum hasłem.

Czy mogę przekonwertować wiele plików ZIP do formatu 7z za pomocą jednej operacji?

Tak, można przeglądać wiele plików ZIP i stosować tę samą logikę konwersji.

Czy muszę instalować oprogramowanie 7-Zip na swoim komputerze?

Nie, Conholdate.Total dla .NET zawiera wszystkie niezbędne komponenty do pracy z 7z bez dodatkowego oprogramowania.

Zobacz także