Create ZIP in C#

C# Archive: Naučte se využívat třídu Archive pro komplexní zpracování ZIP.

ZIP archivy jsou nezbytné pro komprimaci a organizaci souborů a složek do jednoho, snadno spravovatelného kontejneru. Nejenže snižují velikost souborů pro efektivní ukládání a přenos, ale také zachovávají metadata a mohou být šifrovány pro zvýšenou bezpečnost. V tomto článku prozkoumáme různé metody k programově vytvořit ZIP soubory v C#, včetně toho, jak přidávat soubory a složky, vytvářet archivy chráněné heslem a použít AES šifrování.

Co se naučíte

V tomto článku se dozvíte, jak:

C# ZIP knihovna

Ten Aspose.ZIP for .NET Knihovna je výkonný nástroj pro manipulaci s operacemi souborů ZIP v aplikacích .NET, což usnadňuje zip nebo unzip soubory a složky. Tato knihovna je zvláště účinná pro zpracování velkých souborů v C# .NET ZIP archivy a podporuje šifrování AES pro zvýšenou bezpečnost. Tuto knihovnu můžete snadno nainstalovat z NuGet nebo stáhněte binární soubory z Stahování sekce.

Vytvořte si archiv v C#

Do programaticky vytvořit soubor ZIP v C#, postupujte podle těchto kroků:

  1. Vytvořte FileStream objekt pro výstupní archiv ZIP.
  2. Otevřete zdrojový soubor jako a FileStream objekt.
  3. Instancovat the Archiv třída.
  4. Přidejte soubor do archivu pomocí. Archive.CreateEntry(string, FileStream) metoda.
  5. Uložte archiv ZIP pomocí. Archive.Save(FileStream) metoda.

Zde je vzorový kód, který ukazuje, jak přidat soubor do archivu ZIP pomocí C#:

using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
	using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
	{
		// Add folder to archive
		DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
		archive.CreateEntries(corpus);
		// Create ZIP archive
		archive.Save(zipFile);
	}
}

Přidat více souborů do archivu ZIP v C#

Když potřebujete. přidat více souborů do archivu ZIP, lze zvolit několik přístupů. Zde jsou metody, které můžete použít s C# pro zipování více souborů:

Použití FileStream pro přidání více souborů

Tato metoda využívá FileStream třída pro přidání souborů do archivu ZIP pomocí Archive.CreateEntry(String, FileStream) metoda. Zde je, jak to můžete udělat:

using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
	using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
	{
		// Add folder to archive
		DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
		archive.CreateEntries(corpus);
		// Create ZIP archive
		archive.Save(zipFile);
	}
}

Použití FileInfo pro více souborů

Alternativně můžete využít. FileInfo třída pro načtení souborů a jejich přidání do archivu ZIP pomocí Archive.CreateEntry(String, FileInfo) metoda. Níže je ukázkový kód:

Použití souboru CEST

Můžete také přímo zadat cesty k souborům do. Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) metoda. Zde je příklad:

Přidat složky do archivu ZIP v C#

Do přidat složku do archivu ZIP v C#, postupujte podle těchto kroků:

  1. Vytvořte FileStream objekt pro výstupní archiv ZIP.
  2. Instancovat the Archiv třída.
  3. Použijte DirectoryInfo třída pro určení složky, kterou chcete zipovat.
  4. Přidejte složku do ZIP pomocí. Archive.CreateEntries(DirectoryInfo) metoda.
  5. Uložte archiv ZIP pomocí. Archive.Save(FileStream) metoda.

Zde je vzorový kód, který ilustruje, jak přidat složku do souboru ZIP:

Vytvořte si heslo chráněné ZIP pomocí ZipCrypto v C#

Chcete-li zabezpečit své ZIP archivy, můžete použít ochranu heslem pomocí šifrování ZipCrypto. To se provádí využitím. ArchiveEntrySettings třída v konstruktoru Archiv, který přijímá typ šifrování jako parametr. Můžete použít C# Zip archiv heslo metoda pro snadnou implementaci tohoto.

Zde je příklad toho, jak vytvořit archiv ZIP chráněný heslem pomocí ZipCrypto v C#:

Vytvořte heslo chráněné ZIP s šifrováním AES

Ten Aspose.ZIP for .NET knihovna také podporuje šifrování AES pro ochranu archivů ZIP. Můžete si vybrat z následujících metod šifrování AES:

  • AES128
  • AES192
  • AES256

Pro použití šifrování AES použijte the AesEcryptionSettings třída. Níže je ukázkový kód, který demonstruje, jak vytvořit heslem chráněný ZIP s šifrováním AES v C#, včetně podpory pro C# heslo k souboru Zip funkce:

Nastavení režimu paralelní komprese

Pro efektivní zpracování více položek můžete nakonfigurovat API pro paralelní kompresi pomocí the ParallelOptions třída. Dostupné režimy paralelní komprese jsou:

  • Nikdy - Nekomprimujte paralelně.
  • Vždy - Komprimujte paralelně (dávejte pozor na možné problémy s pamětí).
  • Auto - Automaticky rozhodnout, zda použít paralelní kompresi na základě položek.

Zde je návod, jak nastavit režim paralelního komprese při zipování více souborů pomocí knihovny Aspose C# ZIP:

using Aspose.Zip;
using Aspose.Zip.Saving;
// For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
string dataDir = "";
using (FileStream zipFile = File.Open(dataDir + "UsingParallelismToCompressFiles_out.zip", FileMode.Create))
{
    using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
    {
        using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
        {
            using (var archive = new Archive())
            {
                archive.CreateEntry("alice29.txt", source1);
                archive.CreateEntry("asyoulik.txt", source2);
                //Define the parallelism criterion
                var parallelOptions = new Aspose.Zip.Saving.ParallelOptions
                {
                    ParallelCompressInMemory = ParallelCompressionMode.Always
                };
                archive.Save(zipFile,
                    new ArchiveSaveOptions()
                    {
                        ParallelOptions = parallelOptions,
                        Encoding = Encoding.ASCII,
                        ArchiveComment = "There are two poems from Canterbury corpus"
                    });
            }
        }
    }
}

Zjistěte více o C# .NET ZIP Library

Pro prohloubení vašeho porozumění. C# .NET ZIP knihovna, prozkoumejte následující zdroje:

Vyzkoušejte náš online nástroj pro kompresi zip

Můžete také experimentovat s naším bezplatná online aplikace na základě Aspose.ZIP pro .NET k snadnému komprimování souborů do archivů ZIP.

Závěr

V tomto článku jste se naučili, jak vytvořit ZIP archivy programově v C#. Poskytnuté ukázky kódu ukazují, jak přidávat soubory a složky do archivů ZIP, vytvářet soubory ZIP chráněné heslem pomocí metod šifrování ZipCrypto a AES a konfigurovat paralelní kompresi. Navíc nyní rozumíte tomu, jak vytvořte ZIP soubory v C#, včetně toho, jak zipovat soubor, vytvořte soubor ZIP v C#, a přidat soubory do ZIP archivy. Pokud máte jakékoli dotazy nebo potřebujete další pomoc, neváhejte nás kontaktovat prostřednictvím našeho forum.

Také se

Rozbalit RAR nebo extrahovat soubory pomocí C#Rozbalit soubory v archivech ZIP pomocí C#Vytvořte 7z (7-Zip) archivy v C# .NET
Otevřít nebo extrahovat soubor 7z (7zip) v C# .NETVytváření a rozbalování archivů GZip pomocí C#Převést soubory RAR do archivu ZIP v C#
Převést ZIP archivy na TAR v C#Vytvořte plochý ZIP archiv v C#Vytvořit spustitelný samorozbalovací archiv v C#
Vytvořte TAR.GZ a TAR.XZ soubory v C#Odstranit soubory v archivu ZIP v C#Extrahovat vnořené ZIP archivy v C#
Sloučit více archivů ZIP nebo TAR v C#Jak vytvořit soubory ZIPRozbalit 7z online

Další zdroje

Pokud hledáte více informací o tom, jak vytvořte ZIP soubory v C#, zvažte podívat se na:

Začlenění různých metod k vytvořte ZIP soubory v C#, například .NET jádro vytvořit ZIP soubor, C# Vytvořit ZIP soubor programově, a C# Přidat soubory do ZIP, může výrazně zvýšit efektivitu vašeho vývoje a schopnosti zpracování dat.

Můžete také prozkoumat C# příklad ZIP souboru abyste viděli praktickou implementaci těchto metod, což dále prohloubí vaše pochopení toho, jak zip soubory v .NET pomocí C#.

More in this category