Mar
12

.Net projelerinde klasör ziplemek ve zipden çıkarmak

.Net projelerinde çok fazla rağbet gören bir konu değil ama zaman geçtikçe sistem dosyalarının otomatik yedeklenmesi durumlarında gerçekten çok işe yarar bi bileşen (companent)

Tabi bunu ben yazmadım haliyle 🙂 (Ar-Ge projelerinde çalışmış olsaydık neden olmasın 😉 )

zip companenti bedava ve hatta yazan elemanlar kaynak kodunu dahi veriyorlar incelemek isterseniz ilgili link :

http://www.icsharpcode.net/OpenSource/SharpZipLib/

Bu bileşenin özelliklerinden bahsetmek gerekirse eğer ;

  • Haliyle zipleme
  • zipi çözme
  • zipli dosyalara şifreleme ekleme
  • şifreli olan zipli dosyayı açma (şifresini biliyorsanız çözersiniz tabi  🙂 )

Sizin için küçük bir örnek yaptım. Örnek dosyasını aşağıdan indirebilirsiniz.

Bize verilen ICSharpCode.SharpZipLib.dll dosyasını projemize ekliyoruz.

Ben örnek projeyi Asp.Net kullanarak yaptım 🙂

Projeyi açtığınızda 2 yazılabilir alan 2 tane de buton bulunmaktadır.


using ICSharpCode.SharpZipLib.Zip;
using System.IO;

Web sayfamızın üstüne yukarıdaki kütüphaneleri ekliyoruz.

butonlarımızndan biri olan ” Zip dosyası oluştur” a tıkladığımızda bize Zip.zip isimli bir zip dosyası oluşturmaktadır.


FastZip FastZip1 = new FastZip();
FastZip1.Password = "enespekkaya";
FastZip1.CreateEmptyDirectories = true;

if (Directory.Exists(string.Format("{0}{1}", this.rootPath, this.TBfoldername.Text)))
{
FastZip1.CreateZip(string.Format("{0}Zip.zip", this.rootPath), string.Format("{0}{1}", this.rootPath, this.TBfoldername.Text), true, "");

this.Lmsg.Text = "Zip dosyası zip.zip adında oluşturuldu.";
}
else
{
this.Lmsg.Text = string.Format("{0} bu isimli klasor mevcut değil", this.TBfoldername.Text);
}

Yukarıdaki örneğe baktığımızda isterseniz zip dosyasının ismini değiştirebilirsiniz. Bide isterseniz zipli dosyaya şifre koyabilirsiniz veya şifresini kaldırabilirsiniz. 🙂

“Zip Dosası Aç” butonuna tıkladığınzda ise yukarıda anlattığım olayın tam tersini yapmış olursunuz. Zipli olan dosyayı normal klasör haline getirmiş olursunuz.


FastZip FastZip1 = new FastZip();
FastZip1.Password = "enespekkaya";

FastZip1.ExtractZip(string.Format("{0}{1}", this.rootPath, this.TBzip.Text), string.Format("{0}Unzip", this.rootPath), "");

this.Lmsg.Text = "Zip dosyası Unzip isimli klasöre açıldı";

Daha önceden ben zipli dosyaya şifre verdiğim için ( enespekkaya )  zipli dosyanın haliyle şifresini yazmak durumundayım 🙂

Burada da değiştirebileceğiniz gene bazı şeyler mevcut. zipli dosyanın açılmasını istediğiniz klasör ismini değiştirebilirsiniz. Eğer siz zipli dosyayı şifrelemediyseniz eğer aşağıdaki kodu kaldırabilirsiniz.


FastZip1.Password = "enespekkaya";

Bu yazımında sonuna geldik. İnşallah bu yazımda çoğunuza yardımcı olmuştur.

Anlatmış olduğum örneği indirmek için tıklayın.

Yorum Yapın

 

Twitter'dan Takip Et! Twitter'dan Takip Et!

Etiketler

Son Yazılar

Son Yorumlar

Bağlantılar

Arşivler