Pokud hledáte způsob, jak extrahovat archivy ZIP programově, tento článek vám poskytne nejjednodušší řešení. V několika jednoduchých krocích ukáže, jak extrahovat archivy ZIP pomocí C#.

Extrahujte soubory ZIP v C#

V předchozím článku jste se naučili různé způsoby vytváření ZIP souborů a složek pomocí Aspose.ZIP for .NET. Tento článek se bude zabývat tím, jak extrahovat soubory ZIP a rozbalit archivy ZIP chráněné heslem nebo šifrované AES v C#.

Extrahujte ZIP archivy v C# - Instalace API

Než začneme, ujistěte se, že jste si stáhli a odkazovali na Aspose.ZIP for .NET nebo nainstalovali jeho balíček pomocí NuGet Package Manager ve vašem projektu.

PM> NuGet\Install-Package Aspose.Zip

Jak extrahovat soubory ZIP v C#

Proces extrahování souborů ZIP lze dosáhnout dvěma způsoby:

  • Extrahujte každý soubor do ZIP samostatně
  • Extrahujte soubory do určené složky

V první metodě můžete explicitně přistupovat a extrahovat každý soubor v archivu ZIP. Kromě toho si můžete vytisknout průběh procesu extrakce. Zatímco druhá metoda jednoduše extrahuje soubory do určené složky.

C# Extrahujte každý soubor do ZIP

Níže jsou uvedeny kroky pro přístup a extrahování souboru ZIP v C# a vytištění průběhu extrakce:

Následující ukázka kódu ukazuje, jak extrahovat soubory v archivu ZIP v C#.

// Otevřete soubor ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
	using (Archive archive = new Archive(zipFile, new ArchiveLoadOptions()))
	{
		// Přístup ke každému záznamu v archivu ZIP
		for (int i = 0; i < archive.Entries.Count; i++)
		{
			int percentReady = 0;
			// Průběh extrakce protokolu do konzoly.
			archive.Entries[i].ExtractionProgressed += (s, e) =>
			{
				int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize);
				if (percent > percentReady)
				{
					Console.WriteLine(string.Format("{0}% decompressed", percent));
					percentReady = percent;
				}
			};
			// Extrahujte obsah položky na disk.
			archive.Entries[i].Extract(archive.Entries[i].Name);
		}
	}
}

Rozbalte soubory ZIP do složky v C#

Následující kroky se používají k rozbalení souborů ZIP do konkrétní složky v C#.

Následující ukázka kódu C# rozbalí soubory ZIP do složky.

// Otevřete soubor ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
	using (var archive = new Archive(zipFile))
	{
		// Rozbalte soubory do složky
		archive.ExtractToDirectory("Unzipped Files");
	}
}

C# Rozbalte soubory ZIP chráněné heslem

Můžete také rozbalit heslem chráněný ZIP archiv pomocí Aspose.ZIP for .NET. K tomu stačí zadat heslo pomocí třídy ArchiveLoadOptions, které bude předáno jako druhý parametr konstruktoru archivu.

Následuje ukázkový kód pro rozbalení souboru ZIP chráněného heslem.

// Otevřete soubor ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
	// Dešifrování pomocí hesla
	using (var archive = new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
	{
    		// Extrahujte soubory do složky
		archive.ExtractToDirectory("Unzipped Files");
	}
}

Extrahujte AES šifrované soubory ZIP v C#

Archiv ZIP lze také šifrovat pomocí šifrování AES. Aspose.ZIP for .NET podporuje šifrování archivů pomocí metod šifrování AES128, AES192 a AES256. Rozbalení souboru ZIP zašifrovaného AES je podobné rozbalení souborů ZIP chráněných heslem. Stačí zadat dešifrovací heslo pomocí třídy ArchiveLoadOptions a o zbytek se postará API.

Následující ukázka kódu ukazuje, jak extrahovat AES šifrované soubory ZIP v C#.

// Otevřete soubor ZIP
using (FileStream zipFile = File.Open("encrypted.zip", FileMode.Open))
{
  	// Dešifrovat a extrahovat do složky
	new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }).ExtractToDirectory("decrypted");
}

C# ZIP Extraction API – Získejte bezplatnou licenci

Archivy ZIP můžete extrahovat bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili, jak rozbalit ZIP soubory pomocí C#. Dále jste viděli, jak extrahovat heslem chráněné archivy ZIP v C#. Ukázky kódu také ukázaly, jak extrahovat soubory v šifrovaném ZIP archivu v C#. Více o Aspose.ZIP for .NET můžete prozkoumat pomocí dokumentace.

Viz také