Skapa arkiv för att lagra filer, antingen en eller flera

Förenkla filhanteringen med .NET Archiving Tools

Överblick

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

Support and Learning Resources

  
  

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