Rozpakuj pliki w C#

W poprzednim post nauczyłeś się różnych sposobów spakowania plików i folderów do archiwów ZIP przy użyciu Aspose.ZIP for .NET. W tym poście pokażę ci, jak wyodrębnić lub rozpakować pliki ZIP w C#. Omówimy również, jak rozpakować archiwa ZIP chronione hasłem lub szyfrowane AES w języku C#. Ten artykuł jest podzielony na następujące sekcje:

Interfejs API języka C# do rozpakowywania plików ZIP — bezpłatne pobieranie

Zanim zaczniemy, upewnij się, że pobrałeś i odwołujesz się do Aspose.ZIP for .NET lub zainstalowałeś jego pakiet za pomocą NuGet Package Manager w swoim projekcie.

Rozpakuj pliki ZIP w C# .NET

Proces rozpakowywania plików ZIP można przeprowadzić na dwa sposoby:

  • Rozpakuj każdy plik w ZIP oddzielnie
  • Rozpakuj pliki do określonego folderu

W pierwszej metodzie możesz jawnie uzyskać dostęp i rozpakować każdy plik w archiwum ZIP. Ponadto możesz wydrukować postęp procesu ekstrakcji. Podczas gdy druga metoda po prostu rozpakowuje pliki do określonego folderu.

Wyodrębnij każdy plik w ZIP w C#

Poniżej przedstawiono kroki, aby uzyskać dostęp do plików i wyodrębnić je oraz wydrukować postęp wyodrębniania w języku C#:

Poniższy przykładowy kod pokazuje, jak wyodrębnić pliki w archiwum ZIP przy użyciu języka C#.

// Otwórz plik ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
	using (Archive archive = new Archive(zipFile, new ArchiveLoadOptions()))
	{
		// Uzyskaj dostęp do każdego wpisu w archiwum ZIP
		for (int i = 0; i < archive.Entries.Count; i++)
		{
			int percentReady = 0;
			// Rejestruj postęp wyodrębniania do konsoli.
			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;
				}
			};
			// Wypakuj zawartość wpisu na dysk.
			archive.Entries[i].Extract(archive.Entries[i].Name);
		}
	}
}

C# Rozpakuj pliki ZIP do folderu

Poniższe kroki służą do rozpakowywania plików ZIP do określonego folderu w języku C#.

Poniższy przykładowy kod C# rozpakowuje pliki ZIP do folderu.

// Otwórz plik ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
	using (var archive = new Archive(zipFile))
	{
		// Rozpakuj pliki do folderu
		archive.ExtractToDirectory("Unzipped Files");
	}
}

C# Wypakuj pliki ZIP chronione hasłem

Możesz także rozpakować archiwum ZIP chronione hasłem za pomocą Aspose.ZIP for .NET. W tym celu wystarczy podać hasło za pomocą klasy ArchiveLoadOptions, które zostanie przekazane jako drugi parametr do konstruktora Archive.

Poniżej znajduje się przykładowy kod do rozpakowania pliku ZIP chronionego hasłem.

// Otwórz plik ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
	// Odszyfruj za pomocą hasła
	using (var archive = new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
	{
    		// Wypakuj pliki do folderu
		archive.ExtractToDirectory("Unzipped Files");
	}
}

C# Wyodrębnij zaszyfrowane pliki ZIP AES

Archiwum ZIP można również zaszyfrować za pomocą szyfrowania AES. Aspose.ZIP for .NET obsługuje szyfrowanie archiwów metodami szyfrowania AES128, AES192 i AES256. Rozpakowywanie pliku ZIP zaszyfrowanego algorytmem AES jest podobne do rozpakowywania plików ZIP chronionych hasłem. Wystarczy podać hasło odszyfrowywania za pomocą klasy ArchiveLoadOptions, a resztą zajmie się API.

Poniższy przykładowy kod pokazuje, jak rozpakować pliki ZIP zaszyfrowane AES w języku C#.

// Otwórz plik ZIP
using (FileStream zipFile = File.Open("encrypted.zip", FileMode.Open))
{
  	// Odszyfruj i rozpakuj do folderu
	new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }).ExtractToDirectory("decrypted");
}

Biblioteka C# Unzip — uzyskaj bezpłatną licencję API

Możesz używać Aspose.ZIP for .NET bez ograniczeń ewaluacyjnych, otrzymując bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się rozpakowywać pliki ZIP przy użyciu języka C#. Ponadto widziałeś, jak rozpakować pliki w archiwach ZIP chronionych hasłem w języku C# .NET. Przykłady kodu pokazały również, jak wyodrębnić pliki w zaszyfrowanym archiwum ZIP w języku C#. Możesz dowiedzieć się więcej o Aspose.ZIP for .NET, korzystając z dokumentacji.

Powiązane artykuły