C# Dosya Sıkıştırma

C# Dosya Sıkıştırma

C# Dosya Sıkıştırma

  3 dakika Okuma Süresi
Merhabalar,
Bu dersimizde Zip dosyası oluşturmayı anlatacağım.
Hadi başlayalım !

Öncelikle Visual Studio aracılığıyla bir tane proje oluşturalım, adının önemi yok.
Ardından sıkıştırma işlemi için kullanacağımız paketi Nuget paket yöneticisi aracılığıyla indirip projemize dahil edelim. Bunun içinde Nuget'i açıp
install-package DotNetZip
komutunu girelim.
Bu komut Nuget'in DotNetZip paketini indirip projemize dahil etmesini sağlayacaktır.

Evet ön hazırlıklarımız tamam, şimdi kod yazma aşamasına geçebiliriz.
Sıkıştırma işlemini yapmak istediğimiz formun kodlarını açıp öncelikle projeye eklediğimi DotNetZip paketini sayfada çağırmamız gerek. Bu sayede Visual Studio'nun paketi tanımasını sağlayacağız. Bunun için de sayfanın başına
using Ionic.Zip;
kod satırını ekleyelim.
Ve artık sıkıştırma işlemini yapabiliriz.

Burada iki farklı seçeneğimiz var; birincisi dosya sıkıştırma ve ikinci de klasör sıkıştırma.
Öncelikle klasör sıkıştırmadan bahsedeyim. Örneğin masaüstünde bulunan denem isimli klasörü sıkıştırıp yine masaüstüne deneme.zip isminde kaydetmek istersek, şöyle bi kod yapısı kullanmalıyız;
using (ZipFile zip = new ZipFile())
{
     zip.AddDirectory("c:/users/kullanici/desktop/deneme");
      zip.Save("c:/users/kullanici/desktop/deneme.zip");
}
Burada kullandığımız ZipFile sınıfının yeni bir nesnesini tüketerek sıkıştırma işlemini başlatıyor, AddDirectory() fonksiyonu ile klasör ekliyor ve Save() metodu ile de sıkıştırılan dosyayı kaydediyoruz.
Aynı şekilde örneğin masaüstünde bulunan deneme.txt dosyasını sıkıştırıp deneme.zip ismiyle kaydetmek için ise;
using(ZipFile zip= new ZipFile())
{
    zip.AddFile("c:/users/kullanici/desktop/deneme.txt");
    zip.Save("c:/users/kullanici/desktop/deneme.zip");
}
kod yapısını kullanmamız gerek.
Burada bulunan AddFile() fonksiyonu deneme.txt dosyasını sıkıştırılmış dosyanın içine ekleyip, Save() metodu da tıpkı klasör sıkıştırmada olduğu gibi kaydetme işlemini yapıyor.

Ayrıca sıkıştırdığımız dosyaya şifre de koyabiliriz. Bunun için Password anahtar kelimesini kullanmalıyız. Yani;
zip.Password = "şifre";

Bu dersimizde bu kadardı. Buraya kadar yazdığımız tüm kodları toplu olması adına aşağıya bırakıyorum.
using(ZipFile zip= new ZipFile())
{
    zip.Password = "şifre";
    zip.AddDirectory("c:/users/kullanici/desktop/deneme.txt");
    zip.AddFile("c:/users/kullanici/desktop/deneme.txt");
    zip.Save("c:/users/kullanici/desktop/deneme.zip");
}

Tüm C# derslerimize ulaşmak için buraya tıklayabilirsiniz.Herkese hayırlı günler.


  • İçeriği Paylaş:

İÇERİĞİ DEĞERLENDİR

Toplam Değerlendirme Sayısı: 0
Toplam Değerlendirme: 0 / 5

Cevap Yaz