Übersicht
Wir können Archivierungs- und Komprimierungstools in drei Hauptklassen einteilen:– Archive mit mehreren Dateien, normalerweise mit einer Komprimierung – ZIP, 7Z, XAR;
– Speichern mehrerer Dateien ohne Komprimierung – TAR, CPIO;
– Komprimierung Nur-Formate ohne Einträge – GZ, LZ, BZIP2, XZ, ZStandard, Z.
Archive aus der zweiten Klasse werden oft mit reinen Komprimierungsformaten kombiniert. Sie sind in Unix-ähnlichen Systemen mit ihren unterschiedlichen Vorgängen beliebt – einer für die Archivierung, einer für die Komprimierung. Nachfolgend finden Sie Erläuterungen und Beispiele für jede Archivart.
Komprimierte Archive, die mehrere Dateien enthalten
Wir verwenden die CreateEntry-Methode für jede zu komprimierende Datei. In diesen Beispielen stellen wir keine Komprimierungseinstellungen bereit, sodass diese als Standard für das ausgewählte Format gelten.So komprimieren Sie mehrere Dateien
Der Standardwert ist der Deflate-Algorithmus
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");
}
So erstellen Sie 7-ZIP-Archive aus mehreren Dateien
Der Standardwert für 7-zip ist der LZMA-Algorithmus
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-Archiv mit mehreren Dateien
Der Standardwert ist der ZLib-Algorithmus
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");
}
Mehrere Dateien ohne Komprimierung speichern
Der Ansatz für TAR- und CPIO-Formate ist ähnlich und beruht auf der bereits bekannten Methode CreateEntry .TAR-Archiv ohne Komprimierung
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-Archiv ohne Komprimierung
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");
}
Nur-Komprimierungsformate ohne Einträge
Solche Archive wie GZIP, LZ, BZIP2, XZ, Z unterstützen keine Einträge und können nur einzelne Quellen komprimieren. Sehen Sie sich Beispiele mit einer solchen Komprimierung an.GZ-Archiv Nur-Komprimierungsformate ohne Einträge
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-Archiv Nur-Komprimierungsformate ohne Einträge
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 ermöglicht die Kombination von reinen Archiv- und reinen Komprimierungsformaten mit einer einzigen Methode. Hier ist ein Beispiel für diese Funktionalität mit der TAR.GZ-Kombination. Um dies zu erreichen, verwenden wir die SaveGzipped-Methode.
TAR.GZ-Kombination
Es gibt ähnliche Methoden für die Komprimierungsformate LZIP, XZ, ZStandard und 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
Für das BZIP2-Format müssen wir jedoch einen anderen Ansatz verwenden.
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");
}
}
Weitere unterstützte Aspose.ZIP für .NET-API-Funktionen
Verwenden Sie die C#-Bibliothek Aspose.ZIP zum Konvertieren, Zusammenführen, Bearbeiten von Zip-Dateidokumenten, Extrahieren von Daten aus den Archiven und mehr!
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