C# (.NET) में ZIP-आर्काइव के साथ कार्य: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C# (.NET) में ZIP-आर्काइव के साथ कार्य: निर्माण, पठन और प्रबंधन



आधुनिक अनुप्रयोगों में, स्थान बचाने या स्थानांतरण की सुविधा के लिए फ़ाइलों को संपीड़ित करने की आवश्यकता अक्सर उत्पन्न होती है। .NET प्लेटफ़ॉर्म बॉक्स से बाहर ही ZIP-आर्काइव के साथ कार्य करने के लिए शक्तिशाली और सुविधाजनक उपकरण प्रदान करता है। System.IO.Compression नाम स्थान का उपयोग करके, आप तृतीय-पक्ष लाइब्रेरीज़ स्थापित किए बिना आसानी से आर्काइव बना सकते हैं, निकाल सकते हैं और संशोधित कर सकते हैं। इस लेख में, हम सभी बुनियादी संचालनों पर विस्तार से चर्चा करेंगे।



आवश्यक नाम स्थानों को जोड़ना

कार्य शुरू करने के लिए, सुनिश्चित करें कि आपके प्रोजेक्ट में निम्नलिखित निर्देश जोड़े गए हैं:

using System;using System.IO;using System.IO.Compression;using System.Linq;


ZIP-आर्काइव बनाना

आर्काइव बनाने का सबसे सरल तरीका ZipFile क्लास का उपयोग करना है। यह .NET Framework 4.5 और .NET Core से उपलब्ध है।



एक फ़ोल्डर से आर्काइव बनाना

string sourceDirectory = @"C:\\MyDocuments";string zipFilePath = @"C:\\MyArchive.zip";

// निर्दिष्ट फ़ोल्डर की सभी फ़ाइलों से आर्काइव बनाएंZipFile.CreateFromDirectory(sourceDirectory, zipFilePath);Console.WriteLine("आर्काइव बनाया गया: " + zipFilePath);


अतिरिक्त पैरामीटर के साथ आर्काइव बनाना

आप संपीड़न स्तर निर्दिष्ट कर सकते हैं और आर्काइव के अंदर पथ उपसर्ग जोड़ सकते हैं:

string sourceDir = @"C:\\Data";string outputZip = @"C:\\Data.zip";

// CompressionLevel.Optimal - अधिकतम संपीड़न// includeBaseDirectory: true - फ़ोल्डर संरचना को संरक्षित करेगाZipFile.CreateFromDirectory( sourceDir, outputZip, CompressionLevel.Optimal, includeBaseDirectory: true);Console.WriteLine("आर्काइव अनुकूलन के साथ बनाया गया।");


आर्काइव से फ़ाइलें निकालना

पूरे आर्काइव को एक फ़ोल्डर में अनज़िप करना

string zipPath = @"C:\\MyArchive.zip";string extractPath = @"C:\\ExtractedFiles";

// सभी सामग्री अनज़िप करेंZipFile.ExtractToDirectory(zipPath, extractPath);Console.WriteLine("आर्काइव सफलतापूर्वक अनज़िप किया गया।");


मौजूदा फ़ाइलों को ओवरराइट करके अनज़िप करना

// .NET 6+ में ओवरराइट निर्दिष्ट किया जा सकता हैZipFile.ExtractToDirectory(zipPath, extractPath, overwriteFiles: true);


आर्काइव में अलग-अलग प्रविष्टियों के साथ कार्य

ZipArchive क्लास आर्काइव की सामग्री पर पूर्ण नियंत्रण देता है।



आर्काइव में फ़ाइलों की सूची पढ़ना

using (ZipArchive archive = ZipFile.OpenRead(@"C:\\Archive.zip")){    foreach (ZipArchiveEntry entry in archive.Entries)    {        Console.WriteLine($"फ़ाइल: {entry.FullName}, आकार: {entry.Length} बाइट");    }}


आर्काइव से विशिष्ट फ़ाइल निकालना

string zipFilePath = @"C:\\Archive.zip";string entryName = @"folder\\document.txt"; // आर्काइव के अंदर का पथstring outputPath = @"C:\\Output\\document.txt";

using (ZipArchive archive = ZipFile.OpenRead(zipFilePath)){ ZipArchiveEntry entry = archive.GetEntry(entryName); if (entry != null) { // फ़ाइल निकालें entry.ExtractToFile(outputPath, overwrite: true); Console.WriteLine($"फ़ाइल '{entryName}' निकाली गई।"); } else { Console.WriteLine("आर्काइव में फ़ाइल नहीं मिली।"); }}


मौजूदा आर्काइव में फ़ाइलें जोड़ना और हटाना

मौजूदा आर्काइव को संशोधित करने के लिए, इसे ZipArchiveMode.Update मोड में खोलें:



आर्काइव में नई फ़ाइल जोड़ना

string existingZip = @"C:\\Archive.zip";string fileToAdd = @"C:\\NewFile.txt";

using (ZipArchive archive = ZipFile.Open(existingZip, ZipArchiveMode.Update)){ // फ़ाइल को "NewFile.txt" नाम से आर्काइव की जड़ में जोड़ें archive.CreateEntryFromFile(fileToAdd, "NewFile.txt"); Console.WriteLine("फ़ाइल आर्काइव में जोड़ी गई।");}


आर्काइव से फ़ाइल हटाना

using (ZipArchive archive                    

अनुशंसाएँ