Áttekintés

Az archiváló és tömörítő eszközöket három fő osztályba oszthatjuk:
- Több fájlból álló archívumok általában tömörítéssel – ZIP, 7Z, XAR;
- Több fájl tárolása tömörítés nélkül – TAR, CPIO;
- Tömörítés -csak formátumok bejegyzések nélkül – GZ, LZ, BZIP2, XZ, ZStandard, Z.
A másodosztályú archívumokat gyakran csak tömörítési formátumokkal kombinálják. Különleges műveleteik miatt népszerűek a Unix-szerű rendszerekben – az egyik az archiváláshoz, a másik a tömörítéshez. Az alábbiakban magyarázatot és mintákat találunk minden archívumtípushoz.

Több fájlt tartalmazó tömörített archívumok

Minden tömörítendő fájlhoz CreateEntry metódust használunk. Ezekben a mintákban nem adunk meg tömörítési beállításokat, így ezek lennének alapértelmezettek a kiválasztott formátumhoz.

Hogyan csomagoljunk több fájlt

Az alapértelmezett a Deflate algoritmus

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");	
    }

Hogyan hozzunk létre 7-ZIP archívumot több fájlból

A 7-zip alapértelmezése az LZMA algoritmus

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 archívum több fájllal

Az alapértelmezett a ZLib algoritmus

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");	
    }

Több fájl tárolása tömörítés nélkül

A TAR és CPIO formátumok megközelítése hasonló, és a már ismert CreateEntry módszerben rejlik.

TAR archívum tömörítés nélkül

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 archívum tömörítés nélkül

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");
    }

Csak tömörítésre alkalmas formátumok bejegyzések nélkül

Az olyan archívumok, mint a GZIP, LZ, BZIP2, XZ, Z, nem támogatják a bejegyzéseket, és csak egyetlen forrást tudnak tömöríteni. Lásd a mintákat ilyen tömörítéssel.

GZ archívum Csak tömörítésre alkalmas formátumok bejegyzések nélkül

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 archívum Csak tömörítésre alkalmas formátumok bejegyzések nélkül

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");
    }
}

Az Aspose.ZIP lehetővé teszi a csak archív és csak tömörítési formátumok egyetlen módszerrel történő kombinálását. Íme egy példa erre a funkcióra a TAR.GZ kombinációval. Ennek eléréséhez a SaveGzipped módszert használjuk.

TAR.GZ kombináció

Hasonló módszerek léteznek az LZIP, XZ, ZStandard, Z tömörítési formátumokhoz.

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

A BZIP2 formátumhoz azonban más megközelítést kell használnunk.

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");
        } 
    }

Egyéb támogatott Aspose.ZIP a .NET API-hoz

Használja az Aspose.ZIP C# könyvtárat a zip-fájlok konvertálásához, egyesítéséhez, szerkesztéséhez, adatok kinyeréséhez az archívumból és még sok máshoz!

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: