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#
- Zainstaluj pakiet Aspose.Zip for .NET z NuGet.org
- Uwzględnij w kodzie przestrzeń nazw Aspose.Zip
- Użyj metody SetLicense, aby skonfigurować licencję na API Aspose.Zip
- Załaduj wejściowy plik ZIP do obiektu FileStream
- Utwórz nowy Archive object ze strumienia plików
- Uzyskaj liczbę plików w archiwum i przejrzyj wpisy archiwum
- 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.