परिचय

ज़िप फ़ाइलें डेटा को व्यवस्थित और संपीड़ित करने के लिए ज़रूरी हैं, लेकिन आप उनकी सामग्री को प्रोग्रामेटिक रूप से कैसे संशोधित करते हैं? इसका समाधान .NET के लिए Aspose.Zip में है, जो एक मज़बूत लाइब्रेरी है जो C# के साथ ज़िप फ़ाइलों में हेरफेर को आसान बनाती है। इस ट्यूटोरियल में, हम आपको ज़िप फ़ाइलों में प्रविष्टियाँ निकालने, हटाने और जोड़ने का चरण-दर-चरण तरीका बताएँगे।

आवश्यक शर्तें

इससे पहले कि हम आगे बढ़ें, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:

  1. .NET लाइब्रेरी के लिए Aspose.Zip: अपने प्रोजेक्ट में लाइब्रेरी इंस्टॉल करें। आप इसे डाउनलोड कर सकते हैं यहाँ.

  2. दस्तावेज़ निर्देशिका: अपनी ज़िप फ़ाइलों को संग्रहीत करने के लिए एक निर्देशिका सेट करें। "Your Document Directory" कोड में अपने वास्तविक पथ के साथ.

आवश्यक नामस्थान आयात करें

आवश्यक नामस्थानों को आयात करके प्रारंभ करें:

using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

चरण 1: बाहरी ज़िप फ़ाइल खोलें

अपनी मुख्य ज़िप फ़ाइल (बाहरी ज़िप) खोलकर शुरुआत करें:

string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
    // आंतरिक ज़िप प्रविष्टियों की पहचान करने के लिए आगे बढ़ें
}

चरण 2: आंतरिक ज़िप प्रविष्टियों की पहचान करें

इसके बाद, किसी भी आंतरिक ज़िप फ़ाइल की पहचान करें और उसे हटाने के लिए तैयारी करें:

List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();

foreach (ArchiveEntry entry in outer.Entries)
{
    if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
    {
        entriesToDelete.Add(entry);
        
        using (MemoryStream innerCompressed = new MemoryStream())
        {
            entry.Open().CopyTo(innerCompressed);
            
            // आंतरिक प्रविष्टियाँ निकालें
            using (Archive inner = new Archive(innerCompressed))
            {
                foreach (ArchiveEntry ie in inner.Entries)
                {
                    namesToInsert.Add(ie.Name);
                    MemoryStream content = new MemoryStream();
                    ie.Open().CopyTo(content);
                    contentToInsert.Add(content);
                }
            }
        }
    }
}

चरण 3: आंतरिक संग्रह प्रविष्टियाँ हटाएँ

एक बार जब आप अपनी आवश्यक प्रविष्टियाँ एकत्र कर लें, तो आंतरिक ज़िप प्रविष्टियाँ हटा दें:

foreach (ArchiveEntry e in entriesToDelete)
{
    outer.DeleteEntry(e);
}

चरण 4: बाहरी ज़िप में संशोधित प्रविष्टियाँ जोड़ें

अब, आप नई निकाली गई प्रविष्टियों को अपनी बाहरी ज़िप फ़ाइल में वापस जोड़ सकते हैं:

for (int i = 0; i < namesToInsert.Count; i++)
{
    outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}

चरण 5: संशोधित ज़िप फ़ाइल सहेजें

अंत में, अपने परिवर्तनों को एक नई ज़िप फ़ाइल में सहेजें:

outer.Save(dataDir + "flatten.zip");

निष्कर्ष

Aspose.Zip for .NET, ज़िप फ़ाइलों को प्रोग्रामेटिक रूप से मैनिपुलेट करने का एक शक्तिशाली और सरल तरीका प्रदान करता है। इस ट्यूटोरियल में ज़िप फ़ाइल में प्रविष्टियाँ निकालने, हटाने और जोड़ने के बारे में बताया गया है, जो लाइब्रेरी की बहुमुखी प्रतिभा को दर्शाता है। विभिन्न परिदृश्यों का अन्वेषण करें और अपनी फ़ाइल मैनिपुलेशन कौशल को निखारें!

अक्सर पूछे जाने वाले प्रश्न

क्या मैं अन्य प्रोग्रामिंग भाषाओं के साथ .NET के लिए Aspose.Zip का उपयोग कर सकता हूं?

Aspose.Zip मुख्य रूप से .NET अनुप्रयोगों के लिए डिज़ाइन किया गया है, लेकिन Aspose विभिन्न प्रोग्रामिंग भाषाओं के लिए समान लाइब्रेरी प्रदान करता है।

क्या .NET के लिए Aspose.Zip का निःशुल्क परीक्षण उपलब्ध है?

हाँ, डाउनलोड के लिए एक निःशुल्क परीक्षण उपलब्ध है यहाँ.

मैं .NET के लिए Aspose.Zip का समर्थन कैसे प्राप्त करूं?

दौरा करना Aspose.Zip फ़ोरम समर्थन और चर्चा के लिए।

क्या मैं .NET के लिए Aspose.Zip हेतु अस्थायी लाइसेंस खरीद सकता हूँ?

हाँ, आप अस्थायी लाइसेंस प्राप्त कर सकते हैं यहाँ.

मैं .NET के लिए Aspose.Zip का दस्तावेज़ कहां पा सकता हूं?

संपूर्ण दस्तावेज़ उपलब्ध है यहाँ.