2015-07-07 26 views
5

के साथ बनाई गई ज़िप फ़ाइल में शामिल फ़ाइलों को ऑर्डर देने के लिए कैसे करें डॉटनेट ज़िप का उपयोग करते समय ज़िप बनाने के दौरान मैं किसी दिए गए क्रम के साथ फ़ाइल को शामिल करने में सक्षम होना चाहता हूं।डॉटनेट ज़िप

फ़ाइलें ज़िप में जोड़े गए क्रम में प्रकट नहीं होती हैं। अब के लिए क्रम यादृच्छिक प्रतीत होता है।

मैं फाइलों को xyz-header, xyz-सारांश को पहले और फिर बाकी फ़ाइलों को शामिल करना चाहता हूं।

xyz-Header.csv

xyz-Summary.csv

xyz-Male.csv

xyz-Female.csv

xyz और नाम के लिए अन्य फाइलें प्रोग्रामेटिक रूप से निर्धारित हैं लेकिन शीर्षलेख और सारांश फ़ाइलें हैं हमेशा शामिल

कोड स्निपेट

private MemoryStream GetZip() 
    { 
     ZipFile zip = new ZipFile(); 
     List<string, string> files = getFiles(); 
     zip.AddEntry("xyz-Header.csv", getHeader(files)); 
     zip.AddEntry("xyz-Summary", getSummary(files)); 

     foreach (var x in files) 
     { 
      zip.AddEntry("xyz-" + x.Item1 + ".csv", x.Item2); 
     } 

     MemoryStream memoryStream = new MemoryStream(); 
     zip.Save(memoryStream); 
     memoryStream.position = 0; 
     return memoryStream; 
    } 

मैं इस पर किसी भी मदद की सराहना करेंगे।

+0

हम किसी भी कोड को देख सकते हैं ...? – Rob

उत्तर

0

वहाँ कारण नहीं है फ़ाइलें ज़िप में आदेश दिया जा करने के लिए है, तो आप फ़ाइल सूची प्राप्त कर सकते हैं और यह किसी भी आदेश दे आप की तरह:

using (ZipFile zip = ZipFile.Read(NameOfExistingZipFile)) 
    { 
    foreach (ZipEntry e in zip.Order(x => x.FileName)) 
    { 
     // do your styff e.Extract(); 
    } 
    } 
+0

मैं Ionic.zip.dll का उपयोग कर रहा हूं। और मेरे पास ** zip.Order() ** –

+0

का विकल्प नहीं है, फिर 'ऑर्डरबी' का उपयोग करें। आपके पास हमेशा यही है। –

संबंधित मुद्दे