Altbilgi içeriğine atla
IRONZIP KULLANıMı

C# Kullanarak Klasördeki Dosyalar Nasıl Sıkıştırılır

ZIP dosyaları, ZIP formatını kullanarak bir veya birden fazla sıkıştırılmış dosya veya klasör içeren dosyalardır. Birden fazla dosya veya klasörü tek bir dosya olarak sıkıştırmak ve arşivlemek için yaygın bir yöntemdir. Verilerin boyutunu azaltabilir, disk alanı tasarrufu sağlayabilir ve dosyaların internet üzerinden aktarılmasını kolaylaştırabilirler. Bu makalede, ZIP dosyalarının C# ile IronZIP kütüphanesi kullanılarak nasıl çalışılacağını öğreneceksiniz. Programatik olarak ZIP dosyaları oluşturmayı, okumayı, çıkarmayı ve güncellemeyi, ayrıca IronZIP'in çeşitli işlevlerini; şifreleme, parola koruma ve sıkıştırma seviyelerini nasıl kullanacağınızı göreceksiniz. Bu makalenin sonunda, C# uygulamalarınızda IronZIP'i kullanarak ZIP dosyalarını kolaylıkla işleyebileceksiniz.

Bu Makalede Ele Alacaklarımız

  1. Projemizde IronZIP'i Kurun
  2. ZIP dosyası oluşturun
  3. Parola Korumalı ZIP dosyası oluşturun
  4. ZIP dosyası çıkarın
  5. Parola Korumalı ZIP Dosyası çıkarın
  6. Mevcut ZIP arşivine erişim

IronZIP Nedir?

IronZIP, C#'da programatik olarak ZIP oluşturmanıza, okumanıza ve çıkarmanıza olanak tanıyan güçlü ve çok yönlü bir ZIP arşiv kütüphanesidir. Çeşitli arşiv formatlarını destekler, örneğin: ZIP, TAR, GZIP ve BZIP2. Ayrıca, parola koruma, şifreleme ve sıkıştırma seviyelerini de destekler. IronZIP, .NET 8, 7, 6, Core, Standard ve Framework ile uyumludur.

IronZIP, ZIP dosyalarıyla çalışmanın çeşitli kullanım durumlarını ve faydalarını yönetmenize yardımcı olabilir:

  1. Yedekleme sistemi oluşturma: IronZIP'i kullanarak önemli dosya ve klasörlerinizi sıkıştırarak ve şifreleyerek bir ZIP arşivine koyup güvenli bir konumda saklayabilirsiniz. Bu yolla, disk alanı tasarrufu yapabilir ve verilerinize yetkisiz erişimi önleyebilirsiniz.
  2. E-posta eki gönderme: E-posta eklerinizi bir ZIP dosyası içinde sıkıştırarak boyutunu azaltabilirsiniz. Bu, dosya boyutu sınırının aşılmasını önleyebilir ve iletim sürecini hızlandırabilir.
  3. Web'den dosya indirme: Yazılım paketleri, belgeler, görüntüler ve diğer dosya türleri gibi web'den ZIP dosyaları indirip çıkarabilirsiniz. Bu, bant genişliğini ve zamanı tasarruf etmenize ve ihtiyaç duyduğunuz dosyalara kolayca erişmenizi sağlar.

IronZIP ile Başlarken

Kodu yazmadan önce projenizde IronZIP NuGet Paketini kurmanız gerekir. IronZIP, NuGet üzerinden erişilebilen popüler bir sıkıştırma kütüphanesidir.

IronZIP Kütüphanesinin Kurulumu

IronZIP'i kurmak için Visual Studio'da NuGet Paket Yöneticisi Konsolunu kullanabilirsiniz. Basitçe şu komutu çalıştırın:

Install-Package IronZip

Alternatif olarak, paketi doğrudan resmi IronZIP web sitesinden indirebilirsiniz. Kurulum tamamlandıktan sonra, C# kodunuzun en üstüne şu ad alanını ekleyerek başlayabilirsiniz.

using IronZip;
using IronZip;
Imports IronZip
$vbLabelText   $csharpLabel

Klasörde C# ZIP Dosyaları Oluşturma

IronZIP'i kullanarak kolayca bir klasörde ZIP dosyaları oluşturabilirsiniz. Aşağıdaki kod belirtilen dizinden tüm dosyaları zipleyecektir.

using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
Imports System
Imports System.IO
Imports IronZip

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Get all files from the specified directory
		Dim fileArray() As String = Directory.GetFiles("D:\Docs\")

		' Create a new ZIP archive
		Using archive = New IronZipArchive()
			' Iterate through each file and add it to the archive
			For Each file In fileArray
				archive.Add(file) ' Add files to the ZIP
			Next file
			' Save the archive to a file
			archive.SaveAs("myZipFile.zip")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Yukarıdaki C# kodu, tüm dosyaları tek bir ZIP dosyasına sıkıştırmak için IronZIP kütüphanesini kullanır. Kod şunları yapar:

  • fileArray adında bir dizi dizisi tanımlar ve dizin yolunu ("D:\Docs") bir parametre olarak geçerek Directory.GetFiles yönteminin sonucuna atar. Bu yöntem, belirtilen dizindeki tüm dosyaların tam adlarını içeren bir dizi dize döndürüyor.
  • Bellekte bir ZIP arşivini temsil eden IronZipArchive sınıfının yeni bir örneğini oluşturur. Örnek archive adlı bir değişkene atanır ve kod bloğu sona erdiğinde ZIP arşivi yok edildiğinden emin olan bir using ifadesine sarılır.
  • fileArray dizisi üzerinde bir foreach döngüsü kullanarak yineler ve her bir dosya için dosya adını bir parametre olarak geçirerek archive nesnesinin Add yöntemini çağırır. Bu yöntem, dosya ile aynı ad ve içeriğe sahip yeni bir giriş ekler.
  • ZIP dosyasının adını ("myZipFile.zip") bir parametre olarak geçirerek archive nesnesinin SaveAs yöntemini çağırır. Bu yöntem, geçerli dosya sisteminde bir dosyaya ZIP arşivini kaydeder.

Bu şekilde, sadece birkaç satır kod ile kolayca yeni ZIP arşivleri oluşturabilirsiniz.

Çıktı

Çıktı şu şekildedir:

C# Kullanarak Klasörde Dosyaları Zipleme: Şekil 1 - Önceki kod örneğinden çıktılar

Parola Korumalı ZIP dosyası oluşturun

IronZIP, parola korumalı ZIP dosyaları oluşturmak için kolay bir yöntem sağlar. Aşağıdaki kod örneği, dosyaları sıkıştıracak ve parola ile yeni bir ZIP dosyası oluşturacaktır.

using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Set Password and Encryption Method
            archive.Encrypt("myPa55word", EncryptionMethods.AES256);
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
using System;
using System.IO;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Get all files from the specified directory
        string[] fileArray = Directory.GetFiles(@"D:\Docs\");

        // Create a new ZIP archive
        using (var archive = new IronZipArchive())
        {
            // Iterate through each file and add it to the archive
            foreach (var file in fileArray)
            {
                archive.Add(file); // Add files to the ZIP
            }
            // Set Password and Encryption Method
            archive.Encrypt("myPa55word", EncryptionMethods.AES256);
            // Save the archive to a file
            archive.SaveAs("myZipFile.zip");
        }
    }
}
Imports System
Imports System.IO
Imports IronZip

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Get all files from the specified directory
		Dim fileArray() As String = Directory.GetFiles("D:\Docs\")

		' Create a new ZIP archive
		Using archive = New IronZipArchive()
			' Iterate through each file and add it to the archive
			For Each file In fileArray
				archive.Add(file) ' Add files to the ZIP
			Next file
			' Set Password and Encryption Method
			archive.Encrypt("myPa55word", EncryptionMethods.AES256)
			' Save the archive to a file
			archive.SaveAs("myZipFile.zip")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

IronZIP kullanarak bir ZIP arşivi için "myPa55word" parolası belirler. Bu, arşive AES-256 şifrelemesi uygulayarak güvenliği artırır ve yalnızca doğru parolaya sahip kullanıcıların içeriğine erişebilmesini sağlar. Bu özellik, C# uygulamalarında saklama veya aktarım sırasında hassas verileri korumak için değerlidir. Şifreleme algoritmasının belirtilen modunu ikinci parametrede geçirmeniz gerekiyor.

Dosya aşağıda gösterildiği gibi şifrelenmiştir.

Çıktı

C# Kullanarak Klasörde Dosyaları Zipleme: Şekil 2 - Önceki kod örneğinden çıktısı alınan şifrelenmiş dosya

Belirtilen yoldan dizinlerden geçerek bir ZIP dosyası oluşturmanın gösterimini gördük. Şimdi dosyaları çıkarma örneğine doğru ilerleyelim.

ZIP Arşivinden Dosya Çıkartma

IronZIP, C#'ta bir ZIP arşivinden dosya çıkarmak için bir yöntem sağlar. Aşağıdaki kod örneği, ZIP arşivinin içindeki sıkıştırılmış dosyayı çıkartacaktır.

using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
    }
}
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
    }
}
Imports IronZip

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Extract all files from the ZIP archive to the specified directory
		IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
	End Sub
End Class
$vbLabelText   $csharpLabel

IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles"); kodu, "myZipFile.zip" adlı dosyadaki tüm dosyaları IronZIP kullanarak çıkartır ve "myExtractedFiles" dizinine yerleştirir. Bu özlü yöntem, C#'ta ZIP arşivlerini çıkarmayı basitleştirir, dosya çıkarma görevleri için uygun bir çözüm sunar.

Çıktı

Çıktı şu şekildedir:

C# Kullanarak Klasörde Dosyaları Zipleme: Şekil 3 - Önceki kod örneğinden çıktısı alınan dosyalar

Parola Korumalı Bir ZIP Dosyasından Nasıl Çıkarılır

IronZIP ayrıca parola korumalı ZIP dosyalarını çıkarmak için bir yöntem sağlar. Aşağıdaki kod, belirtilen ZIP dosyasından mevcut tüm dosya ve dizinleri çıkarmak için IronZIP yöntemini kullanacaktır.

using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the password-protected ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
    }
}
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Extract all files from the password-protected ZIP archive to the specified directory
        IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
    }
}
Imports IronZip

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Extract all files from the password-protected ZIP archive to the specified directory
		IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
	End Sub
End Class
$vbLabelText   $csharpLabel

ExtractArchiveToDirectory yöntemi, IronZipArchive sınıfına ait olup, bir ZIP arşivindeki tüm girdileri belirtilen bir dizine çıkarır. Yönteme üç argüman geçer: ZIP dosyasının yolu ("myZipFile.zip"), hedef dizinin yolu ("myExtractedFiles") ve ZIP dosyasının parolası ("myPa55word").

Bu şekilde, parola korumalı ZIP dosyalarını kolaylıkla çıkartabilirsiniz.

Mevcut Bir Arşive Nasıl Erişilir

IronZIP, mevcut arşive erişmek ve dosyada bulunan tüm girişleri görüntülemek için yöntemler sağlar.

using System;
using System.Collections.Generic;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Open an existing ZIP archive with a password
        using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
        {
            // Get entries list
            List<string> names = archive.GetArchiveEntryNames();
            // Iterate through each entry name and print it
            foreach (string name in names)
            {
                Console.WriteLine(name);
            }
        }
    }
}
using System;
using System.Collections.Generic;
using IronZip;

class Program
{
    static void Main(string[] args)
    {
        // Open an existing ZIP archive with a password
        using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
        {
            // Get entries list
            List<string> names = archive.GetArchiveEntryNames();
            // Iterate through each entry name and print it
            foreach (string name in names)
            {
                Console.WriteLine(name);
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports IronZip

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Open an existing ZIP archive with a password
		Using archive = New IronZipArchive("myZipFile.zip", "myPa55word")
			' Get entries list
			Dim names As List(Of String) = archive.GetArchiveEntryNames()
			' Iterate through each entry name and print it
			For Each name As String In names
				Console.WriteLine(name)
			Next name
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Sağlanan C# kodu, IronZIP kullanarak "myPa55word" parolasıyla "myZipFile.zip" adlı bir ZIP dosyasını yükleyerek güvenli bir IronZipArchive örneği oluşturur. Dosya şifrelenmemişse parola parametresini geçmeyin. Daha sonra şifrelenmiş ZIP arşivinin içinde geçerli olan giriş adlarının (dosya ve klasör adları) listesini alır ve yazdırır.

GetArchiveEntryNames yöntemi, giriş adlarını toplar ve foreach döngüsü her adı konsola çıkarır. Bu, IronZIP'in parola korumalı ZIP arşivlerinden güvenli erişim ve giriş bilgilerini alma nasıl mümkün kılıyor örnekle gösterilmektedir.

Çıktı

C# Kullanarak Klasörde Dosyaları Zipleme: Şekil 4 - Önceki kod örneğinden çıktı

Sonuç

Sonuç olarak, IronZIP, ZIP dosyaları ile çalışmak için sağlam ve çok yönlü bir C# kütüphanesi olduğunu kanıtlıyor. Temel sıkıştırma ve çıkartma işlevlerinin ötesine geçerek, parola koruma, şifreleme ve çeşitli arşiv formatları ile uyumluluk gibi özellikler sunar. Yedekleme sistemleri oluştururken, eposta eklerini yönetirken veya web'den dosya indirirken İronZIP, bu görevleri basitlik ve verimlilikle akıcı hale getirir.

C# uygulamalarınıza IronZIP entegrasyonu yaparak, ZIP dosyalarını işleme, veri güvenliğini artırma ve dosya aktarım süreçlerini optimize etme konusunda güçlü bir araç kazanırsınız. Gerekir duyulduğunda ücretsiz bir deneme kullanabilirisiniz.

Sıkça Sorulan Sorular

C#'ta bir klasörden ZIP dosyası nasıl oluşturabilirim?

Klasördeki dosyaları dolaşarak ve bunları yeni bir ZIP arşivine ekleyerek bir klasörden ZIP dosyası oluşturmak için IronZIP kullanabilirsiniz. ZIP dosyasını kaydetmek için IronZipArchive sınıfını kullanın ve SaveAs metodunu çağırın.

C# projesine IronZIP nasıl yüklenir?

C# projenize IronZIP'i Visual Studio'da NuGet Paket Yöneticisi kullanarak yükleyin. Paket Yöneticisi Konsolu'nda Install-Package IronZip komutunu çalıştırın ya da resmi IronZIP web sitesinden indirin.

IronZIP, ZIP dosyası işlemlerinde hangi formatları destekler?

IronZIP, ZIP, TAR, GZIP ve BZIP2 dahil olmak üzere çeşitli arşiv formatlarını destekleyerek farklı sıkıştırma ve arşivleme ihtiyaçları için esneklik sunar.

C# ile oluşturulan ZIP dosyalarını şifreleyebilir miyim?

Evet, IronZIP kullanarak ZIP dosyalarını şifreleyebilirsiniz. Arşiv içindeki verilerinizi güvence altına almak için AES-256 şifreleme ile Encrypt metodunu uygulayın.

C# dilinde bir ZIP dosyasından dosyaları nasıl çıkarabilirim?

IronZIP kullanarak bir ZIP arşivinden dosyaları çıkarmak için, kaynak ZIP dosyasını ve hedef dizini belirterek ExtractArchiveToDirectory yöntemini kullanın.

C#'ta parola korumalı ZIP dosyalarını işlemek mümkün müdür?

Evet, IronZIP kullanarak şifre korumalı ZIP dosyalarını, içeriğe güvenli bir şekilde erişmek için ExtractArchiveToDirectory gibi yöntemlerle şifreyi sağlayarak işleyebilirsiniz.

ZIP dosyası yönetiminde IronZIP kullanmanın avantajları nelerdir?

IronZIP, şifreleme, parola koruması ve birden fazla arşiv formatı desteği gibi özellikler sunarak, dosya yedekleme, e-posta eki yönetimi ve web indirmeleri gibi görevleri basitleştirir.

IronZIP, .NET 8 ve diğer sürümleri destekliyor mu?

IronZIP, .NET 8, 7, 6, Core, Standard ve Framework ile uyumlu olduğundan, çeşitli C# projelerine entegrasyon için esneklik sağlar.

Geliştiriciler IronZIP'in deneme sürümüne nasıl erişebilir?

Geliştiriciler, IronZIP'in özelliklerini değerlendirmek için IronZIP web sitesinin lisanslama veya indirme bölümünü ziyaret ederek ücretsiz bir deneme sürümüne erişebilirler.

Veri transferi için ZIP dosyalarını kullanmanın faydası nedir?

ZIP dosyaları, dosya boyutunu küçülttükleri, disk alanından tasarruf sağladıkları ve internet üzerinden birden fazla dosyayı verimli bir şekilde göndermeyi kolaylaştırdıkları için veri aktarımında faydalıdırlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara