giriiş
Zip dosyaları veri düzenleme 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ı düzenlemeyi kolaylaştıran güçlü bir kütüphane olan .NET için Aspose.Zip’te yatıyor. 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:
-
.NET için Aspose.Zip Kütüphanesi: Kütüphaneyi projenize yükleyin. İndirebilirsiniz. Burada.
-
Belge Dizini: Zip dosyalarınızı depolamak için bir dizin ayarlayın. Değiştir
"Your Document Directory"
gerçek yolunuzla 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çarak başlayın:
string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
// İç posta kodu girişlerini tanımlamaya devam edin
}
Adım 2: Dahili Posta Kodu Girişlerini Belirleyin
Sonra, iç zip dosyalarını belirleyin 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ış Posta Koduna Değiştirilmiş Girdileri Ekleyin
Artık yeni çıkarı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 düzenlemenin güçlü ve basit bir yolunu sunar. Bu eğitimde, bir zip dosyasına girdi çıkarma, silme ve ekleme konuları ele alınarak, kütüphanenin çok yönlülüğü gösterilmiştir. Farklı senaryoları keşfedin ve dosya düzenleme 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ü indirilebilir Burada.
Aspose.Zip for .NET desteğini nasıl alabilirim?
Ziyaret edin Aspose.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 alabilirsiniz Burada.
Aspose.Zip for .NET’in dokümanlarını nerede bulabilirim?
Tam dokümantasyon mevcuttur Burada.