Archive.Archive

Archive(ArchiveEntrySettings)

का एक नया उदाहरण प्रारंभ करता हैArchive इसकी प्रविष्टियों के लिए वैकल्पिक सेटिंग्स के साथ वर्ग।

public Archive(ArchiveEntrySettings newEntrySettings = null)
पैरामीटरप्रकारविवरण
newEntrySettingsArchiveEntrySettingsनए जोड़े गए संपीड़न और एन्क्रिप्शन सेटिंग्स के लिए उपयोग किया जाता हैArchiveEntry items. यदि निर्दिष्ट नहीं है, तो एन्क्रिप्शन के बिना सबसे सामान्य डिफ्लेट संपीड़न का उपयोग किया जाएगा।

उदाहरण

निम्न उदाहरण दिखाता है कि किसी एकल फ़ाइल को डिफ़ॉल्ट सेटिंग के साथ कैसे कंप्रेस करना है.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

यह सभी देखें


Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)

का एक नया उदाहरण प्रारंभ करता हैArchive क्लास और कंपोज़ एंट्री लिस्ट को आर्काइव से निकाला जा सकता है।

public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, 
    ArchiveEntrySettings newEntrySettings = null)
पैरामीटरप्रकारविवरण
sourceStreamStreamसंग्रह का स्रोत।
loadOptionsArchiveLoadOptionsमौजूदा संग्रह को लोड करने के विकल्प।
newEntrySettingsArchiveEntrySettingsनए जोड़े गए संपीड़न और एन्क्रिप्शन सेटिंग्स के लिए उपयोग किया जाता हैArchiveEntry items. यदि निर्दिष्ट नहीं है, तो एन्क्रिप्शन के बिना सबसे सामान्य डिफ्लेट संपीड़न का उपयोग किया जाएगा।

अपवाद

अपवादस्थिति
ArgumentExceptionsourceStream खोजने योग्य नहीं है।
InvalidDataExceptionएईएस के लिए एन्क्रिप्शन शीर्षलेख WinZip संपीड़न विधि का खंडन करता है।

टिप्पणियों

यह कंस्ट्रक्टर किसी प्रविष्टि को डिकम्प्रेस नहीं करता है। देखनाOpen डीकंप्रेसिंग के लिए विधि.

उदाहरण

निम्न उदाहरण एक एन्क्रिप्टेड आर्काइव को एक्सट्रेक्ट करता है, फिर पहली प्रविष्टि को डीकंप्रेस करता हैमेमोरीस्ट्रीम.

var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

यह सभी देखें


Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)

का एक नया उदाहरण प्रारंभ करता हैArchive क्लास और कंपोज़ एंट्री लिस्ट को आर्काइव से निकाला जा सकता है।

public Archive(string path, ArchiveLoadOptions loadOptions = null, 
    ArchiveEntrySettings newEntrySettings = null)
पैरामीटरप्रकारविवरण
pathStringपूरी तरह से योग्य या संग्रह फ़ाइल के सापेक्ष पथ।
loadOptionsArchiveLoadOptionsमौजूदा संग्रह को लोड करने के विकल्प।
newEntrySettingsArchiveEntrySettingsनए जोड़े गए संपीड़न और एन्क्रिप्शन सेटिंग्स के लिए उपयोग किया जाता हैArchiveEntry items. यदि निर्दिष्ट नहीं है, तो एन्क्रिप्शन के बिना सबसे सामान्य डिफ्लेट संपीड़न का उपयोग किया जाएगा।

अपवाद

अपवादस्थिति
ArgumentNullExceptionpath शून्य है।
SecurityExceptionकॉल करने वाले के पास एक्सेस करने के लिए आवश्यक अनुमति नहीं है।
ArgumentExceptionpath खाली है, केवल सफेद स्थान हैं, या अमान्य वर्ण हैं।
UnauthorizedAccessExceptionफ़ाइल तक पहुंचpath वर्जित किया गया है।
PathTooLongExceptionविष्तृतpath, फ़ाइल नाम, या दोनों सिस्टम-परिभाषित अधिकतम लंबाई से अधिक हैं। उदाहरण के लिए, Windows-आधारित प्लेटफ़ॉर्म पर, पथ 248 वर्णों से कम होने चाहिए और फ़ाइल नाम 260 वर्णों से कम होने चाहिए।
NotSupportedExceptionपर फाइल करेंpath स्ट्रिंग के बीच में एक कोलन (:) होता है।

टिप्पणियों

यह कंस्ट्रक्टर किसी प्रविष्टि को डिकम्प्रेस नहीं करता है। देखनाOpen डीकंप्रेसिंग के लिए विधि.

उदाहरण

निम्न उदाहरण एक एन्क्रिप्टेड आर्काइव को एक्सट्रेक्ट करता है, फिर पहली प्रविष्टि को डीकंप्रेस करता हैमेमोरीस्ट्रीम.

var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

यह सभी देखें