
C#'ta ZIP Dosyası Nasıl Açılır
ZIP, kayıpsız veri sıkıştırmayı destekleyen bir arşiv giriş dosyası sistem formatıdır. Bir ZIP dosyası, bir veya daha fazla dosya veya sıkıştırılmış olabilecek dizin içerebilir. ZIP dosya formatı, çeşitli sıkıştırma algoritmalarına izin verir, ancak DEFLATE en yaygın olandır. ZIP formatı hızlı bir şekilde birçok yazılım aracı tarafından desteklendi. Önde gelen işletim sistemi sağlayıcıları uzun zamandır ZIP arşiv desteği sağladı. Microsoft, Windows 98'den itibaren ZIP dosya desteği sağladı ve geri kalanlar aynı yolu izledi.
Bu blogda, IronZIP kullanarak ZIP arşiv dosyalarını veya ayıklanmış dosyaları açmanın modern, kolay ve verimli bir yolunu keşfedeceğiz. Genel olarak ZIP dosyalarını ve onların avantajlarını öğreniyoruz. Daha sonra, ZIP dosya formatıyla çalışmak için sistem ad alanında bulunan seçenekleri göreceğiz. Sonra adım adım ZIP dosyasını açma talimatlarını, ZIP dosyasını bir geçici klasöre ayıklama, yeni bir ZIP dosyası oluşturma ve mevcut ZIP dosyalarına dosya ekleme adımlarını inceleyeceğiz.
Yazılım Uygulamalarında ZIP Dosyalarının Kullanım Avantajları
- Sıkıştırma: Bu teknik, Implode, Deflate, Deflate64, bzip2, LZMA, WavPack, PPMd gibi çeşitli sıkıştırma algoritmalarını kullanarak arşivlenmiş dosyaların/dizinlerin boyutunu küçültür.
- Azaltılmış Transfer Süresi: Daha küçük dosya boyutları, özellikle İnternet üzerinden dosya gönderimi sırasında, daha hızlı transfer süreleri anlamına gelir. Bu, e-posta ekleri ve websitelerinden dosya yükleme veya indirme için özellikle avantajlıdır.
- Dosyaların Konsolide Edilmesi: ZIP dosyaları, birden fazla dosyayı tek bir arşive konsolide etmenizi sağlar, yönetmeniz gereken dosya sayısını azaltır. Bu, birden çok dosya içeren projeleri düzenlemek veya yazılım dağıtımında kullanışlıdır.
- Şifre Koruması: Birçok ZIP aracı, arşivi şifre koruma seçeneği sunar, dosyalarınıza bir güvenlik katmanı ekler. Bu, ZIP dosyasının içeriğine erişimi sınırlamak istediğinizde kullanışlıdır.
IronZIP Kullanarak ZIP Arşivleri Oluşturma ve ZIP Dosyalarını Ayıklama
IronZIP kütüphanesinin ve dokümantasyonu burada bulunabilir burada. C# uygulamalarında, ZIP dosyaları çeşitli yollarla oluşturulabilir ve ayıklanabilir. IronZIP NuGet paketi, ZIP, TAR, GZIP ve BZIP2 gibi farklı formatlarda dosyaları arşivlemek için tüm işlevselliklere sahiptir. Aşağıda, modern uygulama programlamasında ZIP dosyası açmak, ZIP dosyası ayıklamak, yeni ZIP dosyası oluşturmak vb. için IronZIP'in nasıl kullanılacağına dair örnek adımlar verilmiştir.
Adım 1. .NET Core Konsol Uygulaması Oluşturun
Proje oluştur
.NET konsol uygulaması Visual Studio kullanılarak oluşturulabilir. Visual Studio'yu açın ve Proje oluştur seçeneğini seçin. Burada, bir proje oluşturmak için çeşitli şablonları görebilirsiniz. Kodu göstermek veya test etmek için en kolay yol, bir konsol uygulaması oluşturmak. Konsol Uygulaması proje şablonunu seçeceğiz.

Proje adını girin
Aşağıdaki pencerede, proje adını, dosya sisteminde kaydedilecek projeyin konumunu ve son olarak çözüm klasörünün yolunu girin. Çözüm ve proje klasörlerini aynı veya farklı klasörlerde tutabilirsiniz.

.NET Framework sürümünü seçin
Bir sonraki adım, proje için .NET Framework sürümünü seçmektir. Belirli bir sürümde geliştirme yapmak isterseniz, istediğiniz sürümü belirtin. Aksi halde, her zaman proje oluşturmak için en son kararlı sürümü seçin. En son sürüm, Microsoft web sitesinden indirilebilir. Ardından konsol uygulamasını oluşturmak için oluştur tuşuna tıklayın.

Bu, şablondan varsayılan projeyi oluşturacak ve proje ve çözüm dosyalarını belirtilen dizinlerde saklayacaktır. Proje oluşturulduktan sonra aşağıdakine benzer görünecektir. Bazen sınıf en son sürümlerdeki program.cs kullanılmaz.
// Import necessary namespaces
using System;
// Define the namespace
namespace MyApp // Note: actual namespace depends on the project name.
{
// Define the Program class
internal class Program
{
// Main method: Entry point of the application
static void Main(string[] args)
{
// Print a welcome message
Console.WriteLine("Hello, World!");
}
}
}' Import necessary namespaces
Imports System
' Define the namespace
Namespace MyApp ' Note: actual namespace depends on the project name.
' Define the Program class
Friend Class Program
' Main method: Entry point of the application
Shared Sub Main(ByVal args() As String)
' Print a welcome message
Console.WriteLine("Hello, World!")
End Sub
End Class
End NamespaceYeni bir ZIP dosyası oluşturmak ve tüm ZIP arşiv dosyalarını ayıklamak için, varsayılan kütüphanelerden System.IO.Compression kullanabiliriz. Aşağıdaki kod, ZIP dosyalarını açmak veya ZIP dosyalarını çıkarmak için ZipFile.OpenRead ve ZipFile.Open statik yöntemlerinin nasıl kullanılacağını göstermektedir.
// Import necessary namespaces
using System;
using System.IO;
using System.IO.Compression;
public class ZipExample
{
public static void Main()
{
Console.WriteLine("-----------Zip - Unzip-----------");
// Method to add a file entry to the ZIP archive
static void AddEntry(string filePath, ZipArchive zipArchive)
{
// Get file name from the file path
var file = Path.GetFileName(filePath);
// Create a new entry in the ZIP archive for the file
zipArchive.CreateEntryFromFile(filePath, file);
}
// Name of the ZIP file to be created
var zip = "myFile.zip";
// Open or create the ZIP file for updating
using (ZipArchive archive = ZipFile.Open(zip, ZipArchiveMode.Update))
{
// Add files to the archive
AddEntry("file1.txt", archive);
AddEntry("file2.txt", archive);
}
// Directory where we want to extract the ZIP files
var dirToExtract = "extract";
// Create the directory if it does not exist
if (!Directory.Exists(dirToExtract))
{
Directory.CreateDirectory(dirToExtract);
}
// Extract the contents of the ZIP file to the specified directory
ZipFile.ExtractToDirectory(zip, dirToExtract);
// Indicate that extraction is complete
Console.WriteLine("Files extracted to: " + dirToExtract);
}
}' Import necessary namespaces
Imports System
Imports System.IO
Imports System.IO.Compression
Public Class ZipExample
Public Shared Sub Main()
Console.WriteLine("-----------Zip - Unzip-----------")
' Method to add a file entry to the ZIP archive
Sub AddEntry(ByVal filePath As String, ByVal zipArchive As ZipArchive)
' Get file name from the file path
Dim file = Path.GetFileName(filePath)
' Create a new entry in the ZIP archive for the file
zipArchive.CreateEntryFromFile(filePath, file)
End Sub
' Name of the ZIP file to be created
Dim zip = "myFile.zip"
' Open or create the ZIP file for updating
Using archive As ZipArchive = ZipFile.Open(zip, ZipArchiveMode.Update)
' Add files to the archive
AddEntry("file1.txt", archive)
AddEntry("file2.txt", archive)
End Using
' Directory where we want to extract the ZIP files
Dim dirToExtract = "extract"
' Create the directory if it does not exist
If Not Directory.Exists(dirToExtract) Then
Directory.CreateDirectory(dirToExtract)
End If
' Extract the contents of the ZIP file to the specified directory
ZipFile.ExtractToDirectory(zip, dirToExtract)
' Indicate that extraction is complete
Console.WriteLine("Files extracted to: " & dirToExtract)
End Sub
End ClassYukarıdaki kodda, sistem isim alanıyla kullanılan myFile.zip adlı bir ZIP dosyası kullanılır. Open yöntemi, ZIP dosyasını belirli bir modda açmak için kullanılır. Bu aynı zamanda yeni ZIP arşiv dosyalarını oluşturmak için de kullanılabilir. Açıldıktan sonra, AddEntry yöntemi kullanılarak yeni bir arşiv girdisi ekleyebiliriz ve ardından ExtractToDirectory, ZIP arşiv dosyalarını belirlenen dizine çıkarır. Eğer dizin mevcut değilse, Directory.CreateDirectory kullanılarak oluşturulur.
Adım 2. NuGet Paket Yöneticisi kullanarak IronZIP'i Yükleyin
Visual Studio'dan Proje Yöneticisini açın ve IronZIP paketini arayın. Sonra en son sürümü seçin ve Yükle tuşuna basın. Yüklenecek sürümü açılır menüden değiştirebilirsiniz. Sonra Yükle tuşuna basın.

ZIP Arşiv Dosyası Oluşturun ve Dosyaları IronZIP Kullanarak Ekleyin

IronZIP, Iron Software tarafından geliştirilen bir arşiv sıkıştırma ve ayıklama kütüphanesidir. Geniş çapta kullanılan ZIP formatına ek olarak TAR, GZIP ve BZIP2 formatlarını da işleyebilir.
IronZIP, doğruluk, kullanım kolaylığı ve hız öncelikli bir C# ZIP Arşiv Kütüphanesidir. Kullanıcı dostu API'si, geliştiricilerin modern .NET projelerine arşiv işlevselliğini dakikalar içinde eklemesini sağlar.
IronZIP, System.IO.Compression kütüphanesine kıyasla birçok avantaj sunar. Sıkıştırma sırasında istediğiniz sıkıştırma oranını belirtebilir ve ZIP, TAR, GZIP, BZIP2 gibi farklı sıkıştırma algoritmaları kullanabilirsiniz. Ayrıca mobil, web ve masaüstü platformlarını ve çeşitli .NET sürümlerini destekler.
// Setup: Specify the path for the new ZIP archive
var archivePath = "ironZip.zip";
// Check if the archive already exists, and delete it if so
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// Use IronZIP library to create a new ZIP archive
using (var archive = new IronZipArchive(9)) // Compression level: 9 for maximum compression
{
// Add files to the ZIP archive
archive.Add("file1.txt");
archive.Add("file2.txt");
// Save the archive to the specified path
archive.SaveAs(archivePath);
}' Setup: Specify the path for the new ZIP archive
Dim archivePath = "ironZip.zip"
' Check if the archive already exists, and delete it if so
If File.Exists(archivePath) Then
File.Delete(archivePath)
End If
' Use IronZIP library to create a new ZIP archive
Using archive = New IronZipArchive(9) ' Compression level: 9 for maximum compression
' Add files to the ZIP archive
archive.Add("file1.txt")
archive.Add("file2.txt")
' Save the archive to the specified path
archive.SaveAs(archivePath)
End Usingİlk kaynak kodu, ZIP arşiv dosyasının adını belirterek ve belirtilen dizinin var olup olmadığını kontrol ederek ayarlanır. Daha sonra dosyaları arşivleyerek Add yöntemiyle bir ZIP dosyası oluştururuz. Sıkıştırma parametresindeki ikinci parametre, daha düşük için 1 ve daha yüksek için 9'dur. Metin dosyaları, kayıpsız olarak maksimum 9'a sıkıştırılabilir ve veri kaybını önlemek için daha düşük sıkıştırma kullanılarak görüntü dosyaları kullanılabilir.
ZIP Arşiv Dosyasını IronZIP Kullanarak Açın
IronArchive sınıfı, ZIP arşiv dosyasından dosyaları çıkarmak için de kullanılabilir. Tüm dosyalar, belirli dizinlere aşağıda gösterildiği gibi çıkarmayı sağlayan IronArchive.ExtractArchiveToDirectory ile çıkarılır.
// Directory to extract all files from the ZIP archive
var extractionPath = "IronZipFiles";
// Check if the directory exists; if not, create it
if (!Directory.Exists(extractionPath))
{
Directory.CreateDirectory(extractionPath);
}
// Extract all files from the specified ZIP archive to the directory
IronArchive.ExtractArchiveToDirectory("ironZip.zip", extractionPath);' Directory to extract all files from the ZIP archive
Dim extractionPath = "IronZipFiles"
' Check if the directory exists; if not, create it
If Not Directory.Exists(extractionPath) Then
Directory.CreateDirectory(extractionPath)
End If
' Extract all files from the specified ZIP archive to the directory
IronArchive.ExtractArchiveToDirectory("ironZip.zip", extractionPath)Yukarıdaki kod, ZIP dosyalarını bir dizine ayıklar. Kod, dizinin var olup olmadığını kontrol eder ve eğer yoksa, ZIP arşiv dosyası belirtilen dizine ayıklanır.
Lisanslama (Ücretsiz Deneme Mevcuttur)
Yukarıdaki kodun çalışması için bir lisans anahtarı gereklidir. Bu anahtar appsettings.json içine yerleştirilmelidir.
{
"IronZip.LicenseKey": "your license key"
}
Aşağıdaki URL'den kayıt olarak burada bir deneme lisansı kullanılabilir, evet, deneme lisansı için kredi kartı gerekmez. Bir kişi e-posta kimliğini sağlayabilir ve ücretsiz bir deneme için kayıt yapabilir.
Mevcut Bir ZIP Arşiv Dosyasına Dosya Ekleme
IronZIP ile mevcut bir arşivi açmak için FromFile statik yöntemini kullanın. Bu yöntem ayrıca çıkış olarak oluşturulacak yeni arşivin dosya adının belirtmesini gerektirir.
// Path to a new file to be added to the existing ZIP archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
// Open the existing ZIP archive and add a new file
using (var file = IronArchive.FromFile("ironZip.zip", archivePlusPath))
{
// Add additional files to the existing archive
file.Add(file3);
}' Path to a new file to be added to the existing ZIP archive
Const file3 As String = ".\image3.png"
Dim archivePlusPath = "ironZipPlus.zip"
' Open the existing ZIP archive and add a new file
Using file = IronArchive.FromFile("ironZip.zip", archivePlusPath)
' Add additional files to the existing archive
file.Add(file3)
End UsingKod, mevcut ZIP dosyasını açmak ve ardından yeni dosyayı bir arşiv girdisi olarak eklemek için IronArchive.FromFile statik yöntemini kullanır. Dosya nesnesi elden çıkarıldıktan sonra güncellenmiş arşiv başarıyla kaydedilir.
Güncellemeler
IronZIP kütüphanesi, müşterilerden/kullanıcılardan gelen geri bildirimlere dayanarak sürekli güncellenir ve tüm güncellemeler burada bulunabilir.
Sonuç
Sonuç olarak, ZIP dosyası programlama, modern uygulama geliştirmede bulut sunucu sağlayıcıları tarafından depolama ve veri transfer maliyetleriyle ücretlendirildiğinde oluşturulması gereken önemli bir beceridir. Bu beceriyi bilmek, programcıların uygulamanın maliyetini azaltmasına ve performansını iyileştirmesine yardımcı olabilir.
Kurulum adımlarını izleyerek ve sağlanan kod örneklerini keşfederek, geliştiriciler IronZIP ile ZIP görevlerini kolaylıkla halletmek için hızlıca faydalanabilirler. Daha fazla ve daha fazla uygulama modernize edilip buluta taşındıkça, IronZIP gibi güvenilir bir ZIP kütüphanesine sahip olmak, C# geliştiricilerine modern uygulama geliştirme taleplerini karşılamak için gerekli araçları sağlar. IronZIP gücünü kucaklayın ve C# uygulamalarınızda ZIP dosyalarıyla çalışmada yeni olanakların kapılarını açın.
IronZIP, geliştiricilerine geniş destek sunar. C# için IronZIP'in nasıl çalıştığı hakkında daha fazla bilgi edinmek için burayı ziyaret edin. IronZIP ücretsiz bir deneme lisansı sunar ki bu, IronZIP'i ve özelliklerini tanımanın harika bir fırsatıdır.
Iron Software çeşitli başka kütüphanelere sahiptir, onları keşfederek modern uygulamalar programlayıp/geliştirmek için daha fazla bilgi edinin ve becerilerinizi güncelleyin.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


