Overzicht
We kunnen archiverings- en compressietools in drie hoofdklassen verdelen:- Archieven met meerdere bestanden, meestal met compressie – ZIP, 7Z, XAR;
- Meerdere bestanden opslaan zonder compressie – TAR, CPIO;
- Compressie -only formaten zonder vermeldingen – GZ, LZ, BZIP2, XZ, ZStandard, Z.
Archieven uit de tweede klasse worden vaak gecombineerd met formaten die alleen compressie bevatten. Ze zijn populair binnen Unix-achtige systemen vanwege hun verschillende bewerkingen – één voor archivering, een andere voor compressie. Hieronder vindt u uitleg en voorbeelden voor elk archieftype.
Gecomprimeerde archieven die meerdere bestanden bevatten
We gebruiken de CreateEntry-methode voor elk bestand dat moet worden gecomprimeerd. In deze voorbeelden leveren we geen compressie-instellingen, dus deze zijn standaard voor het gekozen formaat.Hoe meerdere bestanden te ZIPpen
Standaard is het Deflate-algoritme
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");
}
Hoe u 7-ZIP-archieven van verschillende bestanden kunt maken
Standaard voor 7-zip is het LZMA-algoritme
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-archief met verschillende bestanden
Standaard is het ZLib-algoritme
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");
}
Meerdere bestanden opslaan zonder compressie
De aanpak voor TAR- en CPIO-formaten is vergelijkbaar en ligt in de reeds bekende CreateEntry -methode.TAR-archief zonder compressie
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-archief zonder compressie
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");
}
Alleen compressieformaten zonder vermeldingen
Dergelijke archieven zoals GZIP, LZ, BZIP2, XZ, Z ondersteunen geen vermeldingen en kunnen slechts één bron comprimeren. Zie voorbeelden met een dergelijke compressie.GZ-archief Formaten die alleen voor compressie geschikt zijn, zonder vermeldingen
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-archief Formaten die alleen voor compressie geschikt zijn, zonder vermeldingen
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 maakt het mogelijk om formaten die alleen archief en alleen compressie bevatten, met één enkele methode te combineren. Hier is een voorbeeld van deze functionaliteit met de TAR.GZ-combinatie. Om dit te bereiken gebruiken we de SaveGzipped-methode.
TAR.GZ-combinatie
Er zijn vergelijkbare methoden voor LZIP-, XZ-, ZStandard- en Z-compressieformaten.
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
We moeten echter een andere aanpak gebruiken voor het BZIP2-formaat.
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");
}
}
Andere ondersteunde Aspose.ZIP voor .NET API-functies
Gebruik de Aspose.ZIP C#-bibliotheek om zip-bestandsdocumenten te converteren, samen te voegen, te bewerken, gegevens uit de archieven te extraheren en meer!
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