Εισαγωγή
Τα αρχεία Zip είναι ζωτικής σημασίας για την οργάνωση και τη συμπίεση δεδομένων, αλλά πώς μπορείτε να τροποποιήσετε το περιεχόμενό τους μέσω προγραμματισμού; Η λύση βρίσκεται στο Aspose.Zip για .NET, μια ισχυρή βιβλιοθήκη που απλοποιεί τον χειρισμό αρχείων zip με C#. Σε αυτό το σεμινάριο, θα σας καθοδηγήσουμε βήμα προς βήμα στην εξαγωγή, τη διαγραφή και την προσθήκη καταχωρίσεων σε αρχεία zip.
Προαπαιτούμενα
Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε τα εξής:
-
Aspose.Zip για .NET Library: Εγκαταστήστε τη βιβλιοθήκη στο έργο σας. Μπορείτε να την κατεβάσετε. εδώ.
-
Κατάλογος εγγράφων: Ορίστε έναν κατάλογο για την αποθήκευση των αρχείων zip. Αντικατάσταση
"Your Document Directory"
στον κώδικα με την πραγματική σας διαδρομή.
Εισαγωγή απαραίτητων χώρων ονομάτων
Ξεκινήστε εισάγοντας τους απαιτούμενους χώρους ονομάτων:
using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Βήμα 1: Ανοίξτε το εξωτερικό αρχείο zip
Ξεκινήστε ανοίγοντας το κύριο αρχείο zip (εξωτερικό zip):
string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
// Προχωρήστε στην αναγνώριση των εσωτερικών εισόδων με φερμουάρ
}
Βήμα 2: Προσδιορίστε τις εσωτερικές εισόδους με φερμουάρ
Στη συνέχεια, εντοπίστε και προετοιμαστείτε για τη διαγραφή τυχόν εσωτερικών αρχείων zip:
List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();
foreach (ArchiveEntry entry in outer.Entries)
{
if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
{
entriesToDelete.Add(entry);
using (MemoryStream innerCompressed = new MemoryStream())
{
entry.Open().CopyTo(innerCompressed);
// Εξαγωγή εσωτερικών καταχωρήσεων
using (Archive inner = new Archive(innerCompressed))
{
foreach (ArchiveEntry ie in inner.Entries)
{
namesToInsert.Add(ie.Name);
MemoryStream content = new MemoryStream();
ie.Open().CopyTo(content);
contentToInsert.Add(content);
}
}
}
}
}
Βήμα 3: Διαγραφή καταχωρίσεων εσωτερικού αρχείου
Μόλις συγκεντρώσετε τις καταχωρίσεις που χρειάζεστε, διαγράψτε τις εσωτερικές καταχωρίσεις zip:
foreach (ArchiveEntry e in entriesToDelete)
{
outer.DeleteEntry(e);
}
Βήμα 4: Προσθήκη τροποποιημένων καταχωρίσεων στον εξωτερικό ταχυδρομικό κώδικα
Τώρα, μπορείτε να προσθέσετε τις πρόσφατα εξαγόμενες καταχωρήσεις ξανά στο εξωτερικό αρχείο zip:
for (int i = 0; i < namesToInsert.Count; i++)
{
outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}
Βήμα 5: Αποθηκεύστε το τροποποιημένο αρχείο Zip
Τέλος, αποθηκεύστε τις αλλαγές σας σε ένα νέο αρχείο zip:
outer.Save(dataDir + "flatten.zip");
Σύναψη
Το Aspose.Zip για .NET παρέχει έναν ισχυρό και απλό τρόπο για τον προγραμματισμό αρχείων zip. Αυτό το σεμινάριο κάλυψε την εξαγωγή, τη διαγραφή και την προσθήκη καταχωρήσεων σε ένα αρχείο zip, δείχνοντας την ευελιξία της βιβλιοθήκης. Εξερευνήστε διαφορετικά σενάρια και βελτιώστε τις δεξιότητές σας στον χειρισμό αρχείων!
Συχνές ερωτήσεις
Μπορώ να χρησιμοποιήσω το Aspose.Zip για .NET με άλλες γλώσσες προγραμματισμού;
Το Aspose.Zip έχει σχεδιαστεί κυρίως για εφαρμογές .NET, αλλά το Aspose προσφέρει παρόμοιες βιβλιοθήκες για διάφορες γλώσσες προγραμματισμού.
Υπάρχει διαθέσιμη δωρεάν δοκιμαστική έκδοση για το Aspose.Zip για .NET;
Ναι, υπάρχει διαθέσιμη μια δωρεάν δοκιμαστική έκδοση για λήψη εδώ.
Πώς μπορώ να λάβω υποστήριξη για το Aspose.Zip για .NET;
Επισκεφθείτε το Φόρουμ Aspose.Zip για υποστήριξη και συζητήσεις.
Μπορώ να αγοράσω μια προσωρινή άδεια χρήσης για το Aspose.Zip για .NET;
Ναι, μπορείτε να αποκτήσετε προσωρινή άδεια εδώ.
Πού μπορώ να βρω την τεκμηρίωση για το Aspose.Zip για .NET;
Η πλήρης τεκμηρίωση είναι διαθέσιμη εδώ.