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
- Projemizde IronZIP'i Kurun
- ZIP dosyası oluşturun
- Parola Korumalı ZIP dosyası oluşturun
- ZIP dosyası çıkarın
- Parola Korumalı ZIP Dosyası çıkarın
- 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:
- 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.
- 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.
- 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
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
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:
fileArrayadında bir dizi dizisi tanımlar ve dizin yolunu ("D:\Docs") bir parametre olarak geçerekDirectory.GetFilesyö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
IronZipArchivesınıfının yeni bir örneğini oluşturur. Örnekarchiveadlı bir değişkene atanır ve kod bloğu sona erdiğinde ZIP arşivi yok edildiğinden emin olan birusingifadesine sarılır. fileArraydizisi üzerinde birforeachdöngüsü kullanarak yineler ve her bir dosya için dosya adını bir parametre olarak geçirerekarchivenesnesininAddyö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
archivenesnesininSaveAsyö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:

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
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ı

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
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:

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
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
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ı

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.




