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
- 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