Aspose.Zip for .NET ile Zip Dosyalarını Değiştirin
giriiş
Zip dosyaları veri organizasyonu ve sıkıştırma için hayati önem taşır, ancak içeriklerini programatik olarak nasıl değiştirirsiniz? Çözüm, C# ile zip dosyası manipülasyonunu basitleştiren sağlam bir kütüphane olan .NET için Aspose.Zip’te yatmaktadır. Bu eğitimde, zip dosyalarına girişleri adım adım çıkarma, silme ve ekleme konusunda size rehberlik edeceğiz.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
-
Aspose.Zip for .NET Library: Kütüphaneyi projenize yükleyin. İndirebilirsinizBurada.
-
Belge Dizini: Zip dosyalarınızı depolamak için bir dizin ayarlayın. Değiştir
"Your Document Directory"
gerçek yolunuzla birlikte kodda.
Gerekli Ad Alanlarını İçe Aktar
Gerekli ad alanlarını içe aktararak başlayın:
using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Adım 1: Dış Zip Dosyasını Açın
Öncelikle ana zip dosyanızı (dış zip) açın:
string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
// İç zip girişlerini tanımlamaya devam edin
}
Adım 2: İç Posta Kodu Girişlerini Tanımlayın
Daha sonra, iç zip dosyalarını tanımlayın ve silmeye hazırlanın:
List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();
foreach (ArchiveEntry entry in outer.Entries)
{
if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
{
entriesToDelete.Add(entry);
using (MemoryStream innerCompressed = new MemoryStream())
{
entry.Open().CopyTo(innerCompressed);
// İç girdileri ayıkla
using (Archive inner = new Archive(innerCompressed))
{
foreach (ArchiveEntry ie in inner.Entries)
{
namesToInsert.Add(ie.Name);
MemoryStream content = new MemoryStream();
ie.Open().CopyTo(content);
contentToInsert.Add(content);
}
}
}
}
}
Adım 3: Dahili Arşiv Girişlerini Silin
İhtiyacınız olan girdileri topladıktan sonra, iç zip girdilerini silin:
foreach (ArchiveEntry e in entriesToDelete)
{
outer.DeleteEntry(e);
}
Adım 4: Dış Zip’e Değiştirilmiş Girdileri Ekleyin
Artık yeni çıkartılan girdileri dış zip dosyanıza geri ekleyebilirsiniz:
for (int i = 0; i < namesToInsert.Count; i++)
{
outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}
Adım 5: Değiştirilen Zip Dosyasını Kaydedin
Son olarak değişikliklerinizi yeni bir zip dosyasına kaydedin:
outer.Save(dataDir + "flatten.zip");
Çözüm
.NET için Aspose.Zip, zip dosyalarını programatik olarak işlemek için güçlü ve basit bir yol sağlar. Bu eğitim, bir zip dosyasına girdi çıkarmayı, silmeyi ve eklemeyi ele alarak, kütüphanenin çok yönlülüğünü göstermektedir. Farklı senaryoları keşfedin ve dosya işleme becerilerinizi geliştirin!
SSS
Aspose.Zip for .NET’i diğer programlama dilleriyle birlikte kullanabilir miyim?
Aspose.Zip öncelikli olarak .NET uygulamaları için tasarlanmıştır, ancak Aspose çeşitli programlama dilleri için de benzer kütüphaneler sunmaktadır.
Aspose.Zip for .NET için ücretsiz deneme sürümü mevcut mu?
Evet, ücretsiz deneme sürümü indirilebilirBurada.
Aspose.Zip for .NET desteğini nasıl alabilirim?
Ziyaret edinAspose.Zip forumu Destek ve tartışmalar için.
Aspose.Zip for .NET için geçici bir lisans satın alabilir miyim?
Evet, geçici bir lisans alabilirsinizBurada.
Aspose.Zip for .NET’in belgelerini nerede bulabilirim?
Tam dokümantasyon mevcutturBurada.