Επισκόπηση
Μπορούμε να χωρίσουμε τα εργαλεία αρχειοθέτησης και συμπίεσης σε τρεις κύριες κατηγορίες:- Αρχεία με πολλά αρχεία συνήθως με συμπίεση – ZIP, 7Z, XAR;
- Αποθήκευση πολλών αρχείων χωρίς συμπίεση – TAR, CPIO;
- Συμπίεση -μόνο μορφές χωρίς καταχωρήσεις – GZ, LZ, BZIP2, XZ, ZStandard, Z.
Τα αρχεία από τη δεύτερη κατηγορία συχνά συνδυάζονται με μορφές μόνο συμπίεσης. Είναι δημοφιλείς σε συστήματα που μοιάζουν με Unix με τις ξεχωριστές λειτουργίες τους – μία για αρχειοθέτηση, άλλη για συμπίεση. Ακολουθούν επεξήγηση και δείγματα για κάθε είδος αρχείου.
Συμπιεσμένα αρχεία που περιέχουν πολλά αρχεία
Χρησιμοποιούμε τη μέθοδο CreateEntry για κάθε αρχείο που πρόκειται να συμπιεστεί. Σε αυτά τα δείγματα δεν παρέχουμε ρυθμίσεις συμπίεσης, επομένως θα ήταν προεπιλεγμένες για την επιλεγμένη μορφή.Πώς να κάνετε ZIP πολλά αρχεία
Η προεπιλογή είναι ο αλγόριθμος Deflate
Zip compression with Deflate algoritm
using (Archive archive = new Archive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.zip");
}
Πώς να δημιουργήσετε αρχεία 7-ZIP πολλών αρχείων
Η προεπιλογή για το 7-zip είναι ο αλγόριθμος LZMA
7-Zip with LZMA algorithm
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.7z");
}
Αρχείο XAR με πολλά αρχεία
Η προεπιλογή είναι ο αλγόριθμος ZLib
XAR with ZLib algorithm
using (XarArchive archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.xar");
}
Αποθήκευση πολλών αρχείων χωρίς συμπίεση
Η προσέγγιση για μορφές TAR και CPIO είναι παρόμοια και βρίσκεται στην ήδη γνωστή μέθοδο CreateEntry .Αρχείο TAR χωρίς συμπίεση
TAR storing files without compression
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.tar");
}
Αρχείο CPIO χωρίς συμπίεση
CPIO storing files without compression
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.cpio");
}
Μορφές μόνο συμπίεσης χωρίς καταχωρήσεις
Τέτοια αρχεία όπως τα GZIP, LZ, BZIP2, XZ, Z δεν υποστηρίζουν καταχωρήσεις και μπορούν να συμπιέσουν μόνο μία πηγή. Δείτε δείγματα με τέτοια συμπίεση.Αρχείο GZ Μορφές μόνο συμπίεσης χωρίς καταχωρήσεις
GZIP with compress only single source
using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource(source);
archive.Save("archive.gz");
}
}
Αρχείο LZ Μορφές μόνο συμπίεσης χωρίς καταχωρήσεις
LZIP with compress only single source
using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource(source);
archive.Save("archive.gz");
}
}
Το Aspose.ZIP επιτρέπει το συνδυασμό μορφών μόνο για αρχειοθέτηση και μόνο συμπίεση με μία μόνο μέθοδο. Ακολουθεί ένα παράδειγμα αυτής της λειτουργικότητας με τον συνδυασμό TAR.GZ. Για να το πετύχουμε αυτό, χρησιμοποιούμε τη μέθοδο SaveGzipped.
Συνδυασμός TAR.GZ
Υπάρχουν παρόμοιες μέθοδοι για μορφές συμπίεσης LZIP, XZ, ZStandard, Z.
TAR.GZ with SaveGzipped method
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
archive.SaveGzipped("archive.tar.gz");
}
TAR.BZ2
Ωστόσο, πρέπει να χρησιμοποιήσουμε μια άλλη προσέγγιση για τη μορφή BZIP2.
BZIP2 with SaveGzipped method
using (TarArchive tar = new TarArchive())
{
tar.CreateEntry("first.bin", "data1.bin");
tar.CreateEntry("second.bin", "data2.bin");
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(tar);
archive.Save("archive.tar.bz2");
}
}
Άλλες υποστηριζόμενες δυνατότητες Aspose.ZIP για .NET API
Χρησιμοποιήστε τη βιβλιοθήκη Aspose.ZIP C# για μετατροπή, συγχώνευση, επεξεργασία εγγράφων αρχείων zip, εξαγωγή δεδομένων από τα αρχεία και πολλά άλλα!
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for .NET?
- Customers List
- Success Stories