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#.
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#.
- C# API pro rozbalení souborů – ke stažení zdarma
- Rozbalte soubory ZIP v C#
- Rozbalte soubory ZIP chráněné heslem
- Extrahujte AES šifrované soubory ZIP 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:
- Otevřete archiv ZIP do objektu FileStream.
- Vytvořte a inicializujte instanci Archive pomocí objektu FileStream.
- Získejte přístup k souborům v ZIP pomocí kolekce Archive.Entries.
- Nastavte obslužnou rutinu události ArchiveEntry.ExtractionProgressed pro tisk průběhu extrakce.
- Extrahujte soubory pomocí metody ArchiveEntry.Extract(string).
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#.
- Otevřete archiv ZIP pomocí třídy FileStream.
- Vytvořte instanci třídy Archive a inicializujte ji pomocí objektu FileStream ZIP.
- Rozbalte soubory pomocí metody Archive.ExtractToDirectory(string).
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.