Σε αυτό το σεμινάριο πώς να κάνετε, θα σας δείξουμε πώς να εξαγάγετε το αρχείο Zip σε κώδικα C#. Μπορείτε να χρησιμοποιήσετε το C# για να αποσυμπιέσετε ένα αρχείο στις εφαρμογές σας. Αυτός ο κώδικας υποστηρίζει πολλά zip or archive file formats όπως GZip, RAR, TAR, 7Zip και άλλα.
Βήματα για την εξαγωγή αρχείου Zip σε C#
- Εγκαταστήστε το πακέτο Aspose.Zip for .NET από το NuGet.org
- Συμπεριλάβετε τον χώρο ονομάτων Aspose.Zip στον κώδικα
- Χρησιμοποιήστε τη μέθοδο SetLicense για να ρυθμίσετε την άδεια χρήσης του Aspose.Zip API
- Φορτώστε το αρχείο Zip εισόδου σε ένα αντικείμενο FileStream
- Δημιουργήστε ένα νέο Archive object από τη ροή αρχείων
- Λάβετε τον αριθμό των αρχείων στο αρχείο και πραγματοποιήστε βρόχο μέσα από τις καταχωρήσεις του αρχείου
- Εξαγάγετε κάθε καταχώρηση αρχείου και αποθηκεύστε το αρχείο στο δίσκο
Κάθε καταχώρηση στο αρχείο περιέχει όχι μόνο αρχείο, αλλά και το όνομα του αρχείου. Χρησιμοποιήσαμε την ιδιότητα Name για να λάβουμε το όνομα του αρχείου και στη συνέχεια εξάγαμε το αρχείο με το ίδιο όνομα.
Κώδικας για εξαγωγή αρχείου Zip σε 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); | |
} | |
} | |
} | |
} |
Στον παραπάνω κώδικα, χρησιμοποιήσαμε το FileStream για να φορτώσουμε το Zip archive και, στη συνέχεια, αποθηκεύσαμε τα εξαγόμενα αρχεία εξόδου στο δίσκο. Μπορείτε επίσης να χρησιμοποιήσετε αυτόν τον κώδικα σε C# για να αποσυμπιέσετε το αρχείο στη μνήμη. Αυτό μπορεί να είναι χρήσιμο όταν χρειάζεστε αυτά τα αρχεία περαιτέρω στον κώδικα ή την εφαρμογή και δεν θέλετε να τα αποθηκεύσετε στο δίσκο. Χρησιμοποιώντας αυτόν τον κώδικα, μπορείτε εύκολα και γρήγορα να δημιουργήσετε το δικό σας πρόγραμμα εξαγωγής C# Zip στις εφαρμογές σας ή ως ανεξάρτητο βοηθητικό πρόγραμμα.