Jak wyodrębnić plik Zip w C#

W tym samouczku pokażemy, jak wyodrębnić plik Zip w kodzie C#. Możesz użyć języka C# do rozpakowania archiwum w swoich aplikacjach. Ten kod obsługuje wiele zip or archive file formats, takich jak GZip, RAR, TAR, 7Zip i inne.

Kroki, aby wyodrębnić plik Zip w języku C#

  1. Zainstaluj pakiet Aspose.Zip for .NET z NuGet.org
  2. Uwzględnij w kodzie przestrzeń nazw Aspose.Zip
  3. Użyj metody SetLicense, aby skonfigurować licencję na API Aspose.Zip
  4. Załaduj wejściowy plik ZIP do obiektu FileStream
  5. Utwórz nowy Archive object ze strumienia plików
  6. Uzyskaj liczbę plików w archiwum i przejrzyj wpisy archiwum
  7. Wyodrębnij każdy wpis archiwum i zapisz plik na dysku

Każdy wpis w archiwum zawiera nie tylko plik, ale także nazwę pliku. Użyliśmy właściwości Name, aby uzyskać nazwę pliku, a następnie wyodrębniliśmy plik o tej samej nazwie.

Kod do wyodrębnienia pliku Zip w języku C#

using System;
using System.IO;
using System.Text;
//Add reference to Aspose.Zip for .NET API
//Use following namespace to extract zip file
using Aspose.Zip;
namespace ExtractZipFile
{
class Program
{
static void Main(string[] args)
{
//Set Aspose license before extracting Zip file
//using Aspose.Zip for .NET
Aspose.Zip.License AsposeZipLicense = new Aspose.Zip.License();
AsposeZipLicense.SetLicense(@"c:\asposelicense\license.lic");
//Open file from disk using a file stream
FileStream ZipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);
//Load Zip file stream to Archive object
Archive ZipArchiveToExtract = new Archive(ZipFileToBeExtracted);
//Get number of files
int NumberOfFileInArchive = ZipArchiveToExtract.Entries.Count;
//Loop through the archive for each file
for(int FileCounter =0; FileCounter < NumberOfFileInArchive; FileCounter++)
{
//Get each zip archive entry and extract the file
ArchiveEntry ArchiveFileEntry = ZipArchiveToExtract.Entries[FileCounter];
string NameOfFileInZipEntry = ArchiveFileEntry.Name;
ArchiveFileEntry.Extract(NameOfFileInZipEntry);
}
}
}
}

W powyższym kodzie użyliśmy FileStream do załadowania Zip archive, a następnie zapisaliśmy wyodrębnione pliki wyjściowe na dysku. Możesz także użyć tego kodu w języku C#, aby rozpakować plik w pamięci. Może to być pomocne, gdy potrzebujesz tych plików dalej w kodzie lub aplikacji i nie chcesz zapisywać ich na dysku. Korzystając z tego kodu, możesz łatwo i szybko utworzyć własny ekstraktor C# Zip w swoich aplikacjach lub jako niezależne narzędzie.

 Polski