Genel bakış

Arşivleme ve sıkıştırma araçlarını üç ana sınıfa ayırabiliriz:
- Genellikle sıkıştırmalı birden fazla dosya içeren arşivler – ZIP, 7Z, XAR;
- Birkaç dosyayı sıkıştırma olmadan saklama – TAR, CPIO;
- Sıkıştırma -yalnızca giriş içermeyen formatlar – GZ, LZ, BZIP2, XZ, ZStandard, Z.
İkinci sınıftaki arşivler genellikle yalnızca sıkıştırma formatlarıyla birleştirilir. Biri arşivleme, diğeri sıkıştırma için olmak üzere farklı işlemleriyle Unix benzeri sistemlerde popülerdirler. Aşağıda her arşiv türüne ilişkin açıklamalar ve örnekler bulunmaktadır.

Birden fazla dosya içeren sıkıştırılmış arşivler

Sıkıştırılacak her dosya için CreateEntry yöntemini kullanırız. Bu örneklerde, seçilen format için varsayılan olacak şekilde sıkıştırma ayarları sağlamıyoruz.

Birden fazla dosya nasıl sıkıştırılır

Varsayılan Deflate algoritmasıdır

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

Birkaç dosyadan oluşan 7-ZIP arşivleri nasıl oluşturulur?

7-zip için varsayılan LZMA algoritmasıdır

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

Birkaç dosya içeren XAR arşivi

Varsayılan ZLib algoritmasıdır

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

Birden fazla dosyayı sıkıştırmadan saklama

TAR ve CPIO formatlarına yönelik yaklaşım benzerdir ve halihazırda bilinen CreateEntry yönteminde yatmaktadır.

Sıkıştırılmamış TAR arşivi

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

Sıkıştırılmamış CPIO arşivi

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

Girişler olmadan yalnızca sıkıştırma formatları

GZIP, LZ, BZIP2, XZ, Z gibi arşivler girdileri desteklemez ve yalnızca tek kaynağı sıkıştırabilir. Böyle bir sıkıştırmaya sahip örneklere bakın.

GZ arşivi Girişsiz, yalnızca sıkıştırmalı formatlar

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 arşivi Girişsiz, yalnızca sıkıştırmalı formatlar

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, yalnızca arşiv ve yalnızca sıkıştırma formatlarını tek bir yöntemle birleştirmenize olanak tanır. İşte bu işlevselliğin TAR.GZ kombinasyonuyla bir örneği. Bunu başarmak için SaveGzipped yöntemini kullanıyoruz.

TAR.GZ kombinasyonu

LZIP, XZ, ZStandard, Z formatlarını sıkıştırmak için de benzer yöntemler bulunmaktadır.

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

Ancak BZIP2 formatı için başka bir yaklaşım kullanmamız gerekiyor.

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

Desteklenen Diğer Aspose.ZIP for .NET API Özellikleri

Zip dosyası belgelerini dönüştürmek, birleştirmek, düzenlemek, arşivlerden veri çıkarmak ve daha fazlası için Aspose.ZIP C# kütüphanesini kullanın!

  

Support and Learning Resources

  
  

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