C# Kullanarak Klasördeki Dosyalar Nasıl Sıkıştırılır
ZIP dosyaları, ZIP formatını kullanarak bir veya daha fazla sıkıştırılmış dosya veya klasör içeren dosyalardır. Bu, birden fazla dosya veya klasörü tek bir dosya haline getirerek sıkıştırma ve arşivleme yapmanın yaygın bir yoludur. Veri boyutunu küçültüp disk alanından tasarruf edebilir ve internet üzerinden dosya aktarımını kolaylaştırabilirler. Bu makalede, ZIP dosyaları ile çalışmayı öğreneceksiniz C# kullanarak IronZIP kütüphanesi ile. Programlı olarak ZIP dosyaları oluşturma, okuma, çıkarma ve güncelleme yapmanın yanı sıra şifreleme, parola koruma ve sıkıştırma seviyeleri gibi IronZIP'in çeşitli özelliklerini nasıl kullanacağınızı göreceksiniz. Bu makalenin sonunda, IronZIP'i C# uygulamalarınızda ZIP dosyalarıyla çalışmak için kolayca kullanabiliyor olacaksınız.
Bu Makalede Ele Alacaklarımız
- Projemize IronZIP'i Kurun
- Bir ZIP dosyası oluşturun
- Parola Korumalı ZIP dosyası oluşturun
- ZIP dosyasını çıkarın
- Parola Korumalı ZIP Dosyasını çıkarın
- Mevcut ZIP arşivine erişim
IronZip Nedir?
IronZIP, programlı olarak ZIP dosyaları oluşturmanıza, okumanıza ve çıkarmanıza olanak tanıyan güçlü ve esnek bir C# ZIP arşiv kütüphanesidir. ZIP, TAR, GZIP ve BZIP2 gibi çeşitli arşiv formatlarını destekler. 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ışma konusunda çeşitli kullanım durumlarını ve faydalarını yönetmenize yardımcı olabilir, örneğin:
- Öğe sistemi oluşturma: Önemli dosyalarınızı ve klasörlerinizi ZIP arşivine sıkıştırıp şifreleyerek güvenli bir yere depolamak için IronZIP'i kullanabilirsiniz. Bu şekilde, disk alanından tasarruf edebilir ve verilerinizi yetkisiz erişimden koruyabilirsiniz.
- E-posta ekleri gönderme: E-posta eklerinizi ZIP dosyasına sıkıştırarak boyutlarını küçültmek için IronZIP'i kullanabilirsiniz. Bu, dosya boyutu sınırını aşmaktan kaçınmanıza ve iletim sürecini hızlandırmanıza yardımcı olabilir.
- Web'den dosya indirme: Yazılım paketleri, belgeler, resimler ve diğer dosya türleri gibi ZIP dosyalarını web'den indirmek ve çıkarmak için IronZIP'i kullanabilirsiniz. Bu, bant genişliğinden ve zamandan tasarruf etmenize ve ihtiyaçınız olan dosyalara kolayca erişmenize yardımcı olabilir.
IronZIP ile Başlarken
Kodu yazmadan önce, C# projenize IronZIP NuGet Paketini kurmanız gerekmektedir. IronZIP, NuGet üzerinden erişilebilen popüler bir sıkıştırma kütüphanesidir.
IronZIP Kütüphanesini Kurma
IronZIP'i kurmak için Visual Studio'da NuGet Paket Yöneticisi Konsolunu kullanabilirsiniz. Basitçe aşağıdaki komutu çalıştırın:
Install-Package IronZip
Alternatif olarak, paketi doğrudan resmi IronZIP web sitesinden indirebilirsiniz. Yüklendikten sonra, C# kodunuzun en üstüne aşağıdaki ad alanını ekleyerek başlayabilirsiniz.
using IronZip;
using IronZip;
Imports IronZip
Bir Klasörde C# ZIP Dosyaları Oluşturma
IronZIP'i kullanarak bir klasörde kolayca ZIP dosyaları oluşturabilirsiniz. Aşağıdaki kod, belirtilen dizindeki tüm dosyaları sıkıştıracak.
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 aşağıdaki işlemleri yapar:
- Bir dizgi dizisi olarak
fileArrayturuyü atar ve dizin yolunu ("D:\Docs") bir parametre olarak geçirerekDirectory.GetFilesmetodunun sonucunu atar. Bu metod, belirtilen dizindeki tüm dosyaların tam adlarını içeren bir dizgi dizisi döndürür. - Bellekte bir ZIP arşivini temsil eden
IronZipArchivesınıfının yeni bir örneğini oluşturur. Örnek,archiveolarak adlandırılmış bir değişkene atanır ve kod bloğu sona erdiğinde ZIP arşivinin bırakılmasını sağlayanusingifadesine sarılır. fileArraydizisi üzerindeforeachdöngüsünü kullanarak yineler ve her dosya içinarchivenesnesininAddmetodunu dosya adı parametre olarak geçer. Bu yöntem, dosya ile aynı adı ve içeriği olan yeni bir girdiyi ZIP arşivine ekler.archivenesnesininSaveAsmetodunu çağırır ve ZIP dosyasının adını ("myZipFile.zip") parametre olarak geçirir. Bu yöntem, ZIP arşivini mevcut dosya sisteminde bir dosyaya kaydeder.
Bu şekilde, sadece birkaç satır kod kullanarak kolayca yeni ZIP arşivleri oluşturabilirsiniz.
Çıktı
Çıktı aşağıdaki gibidir:

Şifre Korumalı ZIP Dosyası Oluşturma
IronZIP, parola korumalı ZIP dosyaları oluşturmak için kolay bir yöntem sunar. Aşağıdaki kod örneği dosyaları sıkıştıracak ve parolalı 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
Satır archive.Encrypt("myPa55word", EncryptionMethods.AES256);, bir ZIP arşivine IronZIP kullanarak 'myPa55word' parolasını ayarlar. Bu, arşivi AES-256 şifrelemesi uygulayarak güvenliği artırır ve yalnızca doğru parolaya sahip kullanıcıların içeriğe erişebilmesini sağlar. Bu özellik, C# uygulamaları içinde verilerin depolanması veya aktarılması sırasında hassas verileri korumak için değerlidir. Sifreleme algoritmasinin belirtilen modunu ikinci parametrede gecirmeniz gerekir.
Dosya aşağıda gösterildiği gibi şifrelenmiştir.
Çıktı

Belirtilen yoldaki dizinlerde döngü oluşturarak bir ZIP dosyası oluşturma demosunu gördük. Şimdi, dosyaları çıkartma örneğine doğru ilerleyelim.
ZIP Arşivinden Dosyaları Çıkartma
IronZIP, C#'da bir ZIP arşivinden dosya çıkarmak için bir yöntem sağlar. Asagidaki kod ornegi, ZIP arsivinin icindeki sikistirilmis dosyayi cikartacaktir.
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
Kod IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles"); IronZIP'i kullanarak "myZipFile.zip" içindeki tüm dosyaları çıkartır ve onları "myExtractedFiles" dizinine yerleştirir. Bu özlü yöntem, dosya çıkarma görevleri için uygun bir çözüm sunarak C# dilinde ZIP arşivlerini çıkartma sürecini basitleştirir.
Çıktı
Çıktı aşağıdaki gibidir:

Parola Korumalı ZIP Dosyasından Nasıl Çıkarılır
IronZIP, parolayla korunan ZIP dosyalarını açmak için bir yöntem de sağlar. Aşağıdaki kod, belirtilen ZIP dosyasındaki tüm mevcut 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
ZIP arşivindeki tüm girdileri belirtilen bir dizine çıkartan IronZipArchive sınıfının ExtractArchiveToDirectory metodudur. 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 sekilde, sifre korumali ZIP dosyalarini kolayca ayiklayabilirsiniz.
Mevcut Bir Arşive Nasıl Erişilir
IronZIP, mevcut arşive erişmek ve dosyada bulunan tüm öğeleri 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, 'myZipFile.zip' adlı bir ZIP dosyasını "myPa55word" parolasıyla yükleyerek güvenli bir IronZipArchive örneği oluşturmak için IronZIP kullanır. Dosya şifrelenmemişse parola parametresini geçirmeyin. Daha sonra şifrelenmiş ZIP arşivi içindeki giriş isimlerinin (dosya ve klasör isimlerinin) listesini alır ve yazdırır.
GetArchiveEntryNames metodu giriş adlarını toplar ve bir foreach döngüsü her adı konsola çıktı olarak verir. Bu, IronZIP'in parola korumalı ZIP arşivlerinden giriş bilgilerine güvenli erişim ve geri alma işlemini özlü bir şekilde nasıl sağladığını gösterir.
Çıktı

Sonuç
Sonuç olarak, IronZIP, ZIP dosyalarıyla çalışmak için güçlü ve çok yönlü bir C# kütüphanesi olduğunu kanıtlıyor. Yetkinlikleri, temel sıkıştırma ve çıkarma işlemlerinin ötesine geçer, parola koruma, şifreleme ve çeşitli arşiv formatlarıyla uyumluluk gibi özellikler sunar. Yedekleme sistemleri oluşturuyor, e-posta eklerini yönetiyor veya web'den dosya indiriyor olun, IronZIP bu görevleri basitlik ve verimlilikle kolaylaştırır.
C# uygulamalarınıza IronZIP'i entegre ederek, ZIP dosyalarını yönetmek, veri güvenliğini artırmak ve dosya transfer süreçlerini optimize etmek için güçlü bir araç elde edersiniz. Gerektiginde ücretsiz bir denemeden yararlanabilirsiniz.
Sıkça Sorulan Sorular
C#'de bir klasörden ZIP dosyası nasıl oluşturabilirim?
IronZIP'i kullanarak bir klasörden ZIP dosyası oluşturabilirsiniz; belli bir dizindeki dosyaları yineleyerek yeni bir ZIP arşivine ekleyin. IronZipArchive sınıfını kullanın ve ZIP dosyasını kaydetmek için SaveAs yöntemini çağırın.
Bir C# projesine IronZIP nasıl yüklenir?
Visual Studio'daki NuGet Paket Yöneticisi'ni kullanarak C# projenize IronZIP'i yükleyin. Paket Yöneticisi Konsolunda Install-Package IronZip komutunu çalıştırın veya resmi IronZIP web sitesinden indirin.
IronZIP, ZIP dosyası yönetimi için hangi formatları destekler?
IronZIP, farklı sıkıştırma ve arşivleme ihtiyaçları için esneklik sunarak, ZIP, TAR, GZIP ve BZIP2 dahil çeşitli arşiv formatlarını destekler.
C#'de oluşturulan ZIP dosyalarını şifreleyebilir miyim?
Evet, IronZIP ile AES-256 şifrelemesi uygulayarak arşivdeki verilerinizi güvence altına almak için Encrypt yöntemini kullanarak ZIP dosyalarını şifreleyebilirsiniz.
C#'de bir ZIP dosyasından dosyaları nasıl çıkarabilirim?
IronZIP kullanarak bir ZIP arşivinden dosyaları çıkarmak için ExtractArchiveToDirectory yöntemini kullanın ve kaynak ZIP dosyasını ve varış dizinini belirtin.
C#'de parola korumalı ZIP dosyalarını ele almak mümkün müdür?
Evet, IronZIP ile ExtractArchiveToDirectory gibi yöntemleri kullanırken içeriğe güvenli bir şekilde erişmek için parolayı sağlayarak parola korumalı ZIP dosyalarını ele alabilirsiniz.
IronZIP kullanarak ZIP dosya yönetimi yapmanın avantajları nelerdir?
IronZIP, şifreleme, parola koruması ve birçok arşiv formatı desteği gibi özellikler sunarak dosya yedekleme, e-posta eki yönetimi ve web indirmeleri gibi görevleri kolaylaştırır.
IronZIP, .NET 8 ve diğer sürümleri destekler mi?
IronZIP, .NET 8, 7, 6, Core, Standard ve Framework ile uyumludur; bu, ç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 sitesindeki lisans veya indirme bölümüne giderek ücretsiz 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ı tasarrufu sağladıkları ve birçok dosyanın internet üzerinden verimli bir şekilde gönderilmesini kolaylaştırdıkları için veri transferi için faydalıdır.




