Create a Flat ZIP Archive in C#

Introduction

ZIP फ़ाइलों का प्रबंधन चुनौतीपूर्ण हो सकता है, खासकर जब उनमें **Nested संग्रह शामिल होते हैं ** . यह गाइड आपको **ZIP संरचनाओं को फ्लैट करने ** की प्रक्रिया के माध्यम से मार्गदर्शन करेगा और **Aspose.Zip for .NET ** का उपयोग करके सभी आंतरिक ज़िप रिकॉर्डों को एक ही संगोष्ठी में निकाल देगा

एक फ्लैट ज़िप क्यों बनाना है?

एक फ्लैट ZIP संग्रह का निर्माण कई फायदे प्रदान करता है:

  • जीआईपी फ़ाइल प्रबंधन को सरल बनाता है : कई फाइलों को संभालने में जटिलता को कम करता है।
  • एक संग्रह में सभी निस्टेड ZIP सामग्री को जोड़ता है : फ़ाइलों को अधिक आसानी से पहुंचने के लिए मजबूत करता है।
  • ** रडुंडेंट फ़ोल्डर संरचनाओं को कम करता है** : फ़ाइलों के संगठन को स्ट्रीम लाइन।

सामग्री तालिका

1. Setting Up ZIP Archive Processing in C#

प्रभावी ढंग से संसाधित करने के लिए **Nested ZIP संग्रह ** , हम का उपयोग करेंगे Aspose.ZIP for .NET . यह शक्तिशाली पुस्तकालय प्रदान करता है:

  • ** स्वचालित ZIP निष्कर्षण और पुन: संपीड़न** ।
  • अधिक संग्रह प्रारूपों का समर्थन : ZIP, TAR, GZip, और अधिक।
  • बड़े संग्रहों का प्रभावी प्रसंस्करण

Installation

आप आसानी से NuGet के माध्यम से पुस्तकालय स्थापित कर सकते हैं:

PM> Install-Package Aspose.Zip

अन्यथा, आप DLL को डाउनलोड कर सकते हैं डाउनलोड करने के लिए पृष्ठ.

2. एक फ्लैट ZIP फ़ाइल बनाने के लिए कदम

निम्नलिखित Nested ZIP संरचना पर विचार करें:

parent.zip
 ├ first.txt
 ├ inner.zip
 │ ├ file1.exe
 │ └ data.bin
 └ picture.gif

फ्लेटिंग के बाद, सभी आंतरिक ZIP सामग्री को मातृ जीआईपी में एकीकृत किया जाएगा:

flattened.zip
 ├ first.txt
 ├ picture.gif
 ├ file1.exe
 └ data.bin

कोड उदाहरण

आइए जानते हैं कि कैसे आप नस्टेड ZIP फ़ाइलों का निष्कर्षण स्वचालित कर सकते हैं:

// Load the parent ZIP file
using (Archive parentZip = new Archive("parent.zip"))
{
    List<ArchiveEntry> toDelete = new List<ArchiveEntry>();
    List<string> newEntryNames = new List<string>();
    List<MemoryStream> newStreams = new List<MemoryStream>();

    foreach (ArchiveEntry entry in parentZip.Entries)
    {
        if (entry.Name.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
        {
            toDelete.Add(entry);
            using (MemoryStream zipStream = new MemoryStream())
            {
                entry.Open().CopyTo(zipStream);
                zipStream.Position = 0;
                using (Archive innerZip = new Archive(zipStream))
                {
                    foreach (ArchiveEntry innerEntry in innerZip.Entries)
                    {
                        using (MemoryStream entryStream = new MemoryStream())
                        {
                            innerEntry.Open().CopyTo(entryStream);
                            newEntryNames.Add(innerEntry.Name);
                            newStreams.Add(entryStream);
                        }
                    }
                }
            }
        }
    }

    foreach (var entry in toDelete)
        parentZip.DeleteEntry(entry);

    for (int i = 0; i < newEntryNames.Count; i++)
        parentZip.CreateEntry(newEntryNames[i], newStreams[i]);

    parentZip.Save("flattened.zip");
}

यह विधि प्रभावी ढंग से **ऑटोमेटेड ZIP फ़ाइल निष्कर्षण ** प्रदान करती है, जिससे C# Archive सुविधाओं के साथ एक चिकनी कार्यप्रवाह सुनिश्चित होता है।

3. Flattened ZIP फ़ाइल को सहेजें

एक बार जब आप नाजुक ZIP सामग्री को निकालते हैं, तो निम्नलिखित कोड लाइन का उपयोग करके फ्लैटे हुए Zip फ़ाइल को बचाएं:

parentZip.Save("flattened.zip");

यह सुनिश्चित करता है कि आपके पास एक **एक ZIP संग्रह है, जिसमें नस्टेड फ़ोल्डर नहीं हैं ** , जिससे C# Zip Compression तकनीकों के माध्यम से फ़ाइल प्रबंधन बहुत आसान हो जाता है।

4. बैच प्रसंस्करण कई ZIP संग्रह

यदि आपको एक विशिष्ट फ़ोल्डर में स्थित फ्लैटेन कई ZIP फ़ाइलों की आवश्यकता है, तो आप निम्नलिखित कोड स्नैपेट का उपयोग कर सकते हैं:

string[] files = Directory.GetFiles("zip_folder", "*.zip");
foreach (string file in files)
{
    using (Archive archive = new Archive(file))
    {
        archive.ExtractToDirectory("output_folder");
    }
}

यह विधि **ऑटोमेटेड बड़े पैमाने पर ZIP प्रसंस्करण ** की अनुमति देती है, आपको समय और प्रयास बचाता है जबकि प्रभावी ढंग से C# Zip फ़ाइलों का प्रबंधन करता है

5. एक मुफ्त एपीआई लाइसेंस प्राप्त करें

Aspose.ZIP **की ** पूर्ण सुविधाओं को अनलॉक करने के लिए, आप एक मुक्त अस्थायी लाइसेंस का अनुरोध कर सकते हैं।

विस्तृत दस्तावेज के लिए, Aspose.ZIP गाइड ** पर जाएं. यदि आपके कोई प्रश्न हैं, तो समुदाय के साथ जुड़ने की स्वतंत्रता महसूस करें ** एस्पोस फोरम

6. निष्कर्ष और अतिरिक्त संसाधन

Summary

इस मार्गदर्शिका में, हम कवर करते हैं:

  • C# में ZIP फ़ाइलों को कैसे फ्लैट करें
  • निस्टेड ZIP फ़ाइलों को निकालना
  • अंतिम ZIP संग्रह को बचाएं
  • एक बार में कई ZIP फ़ाइलों को संसाधित करना

Aspose.ZIP for .NET के साथ, आप प्रभावी ढंग से अपने अनुप्रयोगों में ZIP फ़ाइलों का निष्कर्ष निकालें और प्रबंधित करें।

अतिरिक्त संसाधन

डेवलपर्स अपने समझ को बढ़ाने के लिए चाहते हैं, इन विषयों पर विचार करें:

  • C# Zip Archive बनाएं : अपने C# अनुप्रयोगों में ZIP फ़ाइलों को बनाने के लिए विभिन्न तरीकों का पता लगाएं।
  • ZIP फ़ाइल C# .NET कोर बनाएं : ZIP फाइल बनाने के लिए सर्वश्रेष्ठ प्रथाओं को सीखें.
  • ZIP से C# फ़ाइल निकालना : ZIP संग्रहों से विशिष्ट फाइलों को निकालने के लिए कदम-दर-चरण निर्देश।
  • C# Decompress ZIP : C# का उपयोग करके Zip फ़ाइलों को अवशोषित करने के लिए एक विस्तृत मार्गदर्शिका।
  • C# के साथ .NET में Zip फ़ाइलें कैसे करें : .Net और C# का उपयोग करके ज़िपिंग फाइलों पर एक पूर्ण पैदल चलना।
  • C# ZipArchive Extract to Directory : प्रभावी फ़ाइल निकालने के लिए ज़िपआर्किव का उपयोग करने के तरीके का पता लगाएं।
  • C# Zipping फ़ाइलें : प्रदर्शन और सुविधा में सुधार करने के लिए C# में ज़िपिंग के तरीकों का पता लगाएं।
  • ** .NET Core Create Zip File** : .Net Core और C# का उपयोग करके ZIP फ़ाइलों को बनाने के लिए एक विस्तृत नज़र डालें।
  • C# Zip : सी # में ZIP फ़ाइलों को प्रभावी ढंग से संभालने के बारे में सीखें।
  • C# Zip Example : अपने विकास प्रक्रिया को सरल बनाने के लिए C# में ज़िपिंग फ़ाइलों के व्यावहारिक उदाहरणों की समीक्षा करें।
  • .NET Core Zip : .NET कोर अनुप्रयोगों में ZIP फ़ाइलों के साथ काम करने के लिए सर्वश्रेष्ठ प्रथाएं।
  • C# Open ZIP : समझें कैसे खोलने और प्रभावी ढंग से ज़िप फ़ाइलों को पढ़ने के लिए।
  • C# ZIP से फ़ाइल पढ़ें : ज़िप फाइलों के भीतर संग्रहीत विशिष्ट फाइलें पढ़ने के लिए तकनीकें।
  • C# Zip Lists : अपने अनुप्रयोगों में फ़ाइलों की सूचियों को सीधे ज़िप करने का तरीका जानना।
  • C# Zipping फ़ाइलें : ज़िपिंग फ़ोल्डर के लिए विधियों पर एक नज़र डालें।
  • .NET Core Zip : .NET कोर ZIP फ़ाइल प्रबंधन के बारे में जानकारी।
  • C# Archive : व्यापक ZIP प्रबंधन के लिए संग्रह वर्ग का उपयोग करना सीखें।

More in this category