सिंहावलोकन

जिन अभिलेखों में प्रविष्टियाँ होती हैं उनमें पूरे फ़ोल्डर को संपीड़ित करने के लिए createEntries विधि होती है। ऐसी विधियाँ निर्देशिका संरचना का सम्मान करती हैं और सभी सबफ़ोल्डर्स के लिए आवर्ती रूप से रचना करती हैं। इसके अलावा, आप संग्रह में कहीं भी मनमाने सबफ़ोल्डर में एकल फ़ाइल प्रविष्टि जोड़ सकते हैं।

किसी फोल्डर को ज़िप कैसे करें

यदि आप संरचना को संरक्षित करते हुए पूरे फ़ोल्डर से एक ज़िप संग्रह बनाना चाहते हैं, तो आप जावा के लिए Aspose.Zip API और निम्नलिखित कोड का उपयोग कर सकते हैं। try-with-resources निर्माण सभी कोड निष्पादित होने के बाद स्वचालित रूप से पुरालेख संसाधन को बंद कर देता है, भले ही सभी फ़ाइलें ठीक से बंद हों या नहीं। फ़ाइल कॉर्पस ऑब्जेक्ट में निर्दिष्ट पथ उस फ़ोल्डर को इंगित करता है जिसे संपीड़ित किया जाएगा। createEntries के साथ, संग्रह के प्रत्येक तत्व को अलग से जोड़ा जाता है, इस प्रकार मूल संरचना को संरक्षित किया जाता है, जिसे archive.zip नामक फ़ाइल में संग्रहीत किया जाता है। यह ध्यान रखना महत्वपूर्ण है कि कोड “D:\Data” फ़ोल्डर के अस्तित्व या उसमें फ़ाइलों की उपस्थिति की जाँच नहीं करता है। यदि निर्देशिका मौजूद नहीं है या खाली है, तो कोड कोई संग्रह नहीं बनाएगा।
CreateEntries विधि में वैकल्पिक दूसरा पैरामीटर includeRootDirectory है इंगित करता है कि क्या रूट निर्देशिका को संग्रह में शामिल करने की आवश्यकता है। डिफ़ॉल्ट सत्य है, इसलिए उपरोक्त नमूने में सभी संग्रह प्रविष्टियाँ “डेटा” फ़ोल्डर के अंदर स्थित होंगी। यदि आप चाहते हैं कि केवल निर्देशिका सामग्री जोड़ी जाए तो वहां गलत पास करें।
नमूना - फ़ोल्डर से संग्रह बनाएं:

    try (Archive archive = new Archive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.zip");
    }

निम्नलिखित कोड उदाहरण दो फ़ाइलों के साथ एक ज़िप संग्रह बनाता है: “image.bmp” और “lyrics.txt”। Fi1 और fi2 वेरिएबल इन फ़ाइलों का प्रतिनिधित्व करते हैं। संग्रह ऑब्जेक्ट की createEntry विधि का उपयोग प्रत्येक फ़ाइल को निर्दिष्ट पथों के साथ संग्रह में जोड़ने के लिए किया जाता है: “image.bmp” के लिए “data\pictures” और “lyrics.txt” के लिए “data\text”। संक्षेप में, यह कोड “archive.zip” नामक एक ज़िप संग्रह बनाता है जिसमें दो फ़ोल्डर, “डेटा\चित्र” और “डेटा\टेक्स्ट” होते हैं, प्रत्येक में संबंधित फ़ाइलों में से एक होती है।

    try (Archive archive = new Archive()) {
        File fi1 = new File("image.bmp");
        File fi2 = new File("lyrics.txt");
        archive.createEntry("data\\pictures\\photo.bmp", fi1);
        archive.createEntry("data\\text\\song.txt", fi2);
        archive.save("archive.zip");
    }

इसकी संरचना का सम्मान करते हुए 7-ज़िप में फ़ोल्डर को कैसे संपीड़ित करें

निम्नलिखित कोड दर्शाता है कि 7Z संग्रह कैसे बनाया जाए और निर्दिष्ट निर्देशिका से सभी फ़ाइलों और फ़ोल्डरों को इसमें कैसे जोड़ा जाए। यह ज़िप फ़ाइल स्वरूप वाले संग्रह के समान कार्य करता है। CreateEntries 7Z संग्रह की एनालॉग विधि है। इसमें includeRootDirectory पैरामीटर भी है। महत्वपूर्ण: जावा के लिए Aspose.ZIP 24.4 में लागू किया जाएगा

    try (SevenZipArchive archive = new SevenZipArchive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.7z");
    }

किसी फ़ोल्डर की संरचना को बनाए रखते हुए उसे TAR में कैसे संपीड़ित करें

कोड निर्दिष्ट निर्देशिका के लिए एक TAR संग्रह बनाता है। इसे प्राप्त करने के लिए यह जावा आर्काइव एपीआई से टारआर्काइव क्लास का उपयोग करता है। createEntries विधि निर्देशिका से सभी फ़ाइलों और फ़ोल्डरों को संग्रह में जोड़ती है, निर्देशिका संरचना को संरक्षित करना। अंत में, सेव विधि संग्रह की सामग्री को “archive.tar” फ़ाइल में लिखती है।
नमूना:

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.save("archive.tar");
    }

प्रदान किया गया कोड “archive.tar” नामक एक TAR संग्रह बनाता है जिसमें दो प्रविष्टियाँ होती हैं। निर्देशिका पुरालेख - यह निर्देशिका संरचना को संरक्षित करते हुए, निर्देशिका “D:\Data” से सभी फ़ाइलों और फ़ोल्डरों को संग्रह में जोड़ता है। यह प्रभावी रूप से निर्दिष्ट निर्देशिका की संपूर्ण सामग्री को संग्रहीत करता है। और एकल फ़ाइल प्रविष्टि - यह “आंतरिक” सबफ़ोल्डर से “data.bin” नामक एक विशिष्ट फ़ाइल को संग्रह में जोड़ता है। यह संपूर्ण निर्देशिका संरचना को संग्रहीत किए बिना किसी विशेष फ़ाइल को शामिल करने की अनुमति देता है। संक्षेप में, यह कोड एक TAR संग्रह बनाता है जो निर्देशिका-स्तरीय संग्रह और व्यक्तिगत फ़ाइल समावेशन दोनों को जोड़ता है।
नमूना 2 - संग्रह निर्देशिका और को संयोजित करें एकल फ़ाइल

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.createEntry("inner\\data.bin", "data.bin");
        archive.save("archive.tar");
    }

जावा एपीआई सुविधाओं के लिए अन्य समर्थित Aspose.ZIP

जावा में Aspose.ZIP लाइब्रेरी के साथ, आप ज़िप फ़ाइल दस्तावेज़ों से संबंधित विभिन्न कार्यों को सहजता से संभाल सकते हैं। चाहे आपको प्रारूप परिवर्तित करने, फ़ाइलों को मर्ज करने, सामग्री संपादित करने या डेटा निकालने की आवश्यकता हो, Aspose.ZIP आपके वर्कफ़्लो को सुव्यवस्थित करने और उत्पादकता बढ़ाने के लिए व्यापक कार्यक्षमता प्रदान करता है।

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: