Överblick
Vi kan dela upp arkiverings- och komprimeringsverktyg i tre huvudklasser:- Arkiv med flera filer vanligtvis med en komprimering – ZIP, 7Z, XAR;
- Lagra flera filer utan komprimering – TAR, CPIO;
- Komprimering -endast format utan poster – GZ, LZ, BZIP2, XZ, ZStandard, Z.
Arkiv från den andra klassen kombineras ofta med endast komprimeringsformat. De är populära inom Unix-liknande system med sina distinkta funktioner – en för arkivering, en annan för komprimering. Nedan finns förklaringar och exempel för varje arkivtyp.
Komprimerade arkiv som innehåller flera filer
Vi använder metoden CreateEntry för varje fil som ska komprimeras. I dessa exempel tillhandahåller vi inga komprimeringsinställningar så de skulle vara standard för valt format.Hur man zippar flera filer
Standard är Deflate-algoritmen
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");
}
Hur man skapar 7-ZIP-arkiv av flera filer
Standard för 7-zip är LZMA-algoritmen
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-arkiv med flera filer
Standard är ZLib-algoritmen
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");
}
Lagra flera filer utan komprimering
Tillvägagångssätt för TAR- och CPIO-format är liknande och ligger i den redan kända metoden CreateEntry .TAR-arkiv utan komprimering
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-arkiv utan komprimering
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");
}
Format endast för komprimering utan poster
Sådana arkiv som GZIP, LZ, BZIP2, XZ, Z stöder inte poster och kan bara komprimera en enda källa. Se prover med en sådan kompression.GZ-arkiv Format endast komprimering utan poster
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-arkiv Format endast komprimering utan poster
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 gör det möjligt att kombinera format som endast är arkiverade och endast komprimerade med en enda metod. Här är ett exempel på denna funktionalitet med kombinationen TAR.GZ. För att uppnå detta använder vi metoden SaveGzipped.
TAR.GZ kombination
Det finns liknande metoder för LZIP, XZ, ZStandard, Z-komprimeringsformat.
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
Men vi måste använda en annan metod för BZIP2-format.
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");
}
}
Andra Aspose.ZIP för .NET API-funktioner som stöds
Använd Aspose.ZIP C#-biblioteket för att konvertera, slå samman, redigera zip-fildokument, extrahera data från arkiven och mer!
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