2015-07-07 50 views
5

ile oluşturulan zip dosyasında yer alan dosyalara nasıl Sipariş verilir DotNet Zip kullanırken bir zip oluştururken belirli bir sırayla dosyayı dahil etmek istiyorum.dotnet Zip

Dosyalar, zip dosyasına eklendikleri sırada görünmüyor. Şimdi sıra rasgele görünüyor.

Önce xyz-Header, xyz-Summary dosyalarının geri kalanını ve ardından dosyaların geri kalanını bulundurmak istiyorum.

xyz-Header.csv

xyz-Summary.csv

xyz-Male.csv

xyz-Female.csv

xyz ve adları için diğer dosyalar programsal olarak olarak belirlenmiştir, ancak Üstbilgi ve Özet dosyaları her zaman dahildir.

Kod Parçacığı

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; 
    } 

Bu konuda herhangi bir yardım takdir ediyorum.

+0

biz herhangi bir kod görebiliyor ...? – Rob

cevap

0

dosyaları zip sipariş edilmelidir Orada ikna edilmez, dosya listesini alabilirsiniz ve sizin gibi o bir karar verebilecek:

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

Ben Ionic.zip.dll kullanıyorum.Ve ben ** zip.Order() ** –

+0

seçeneğim yok Sonra 'OrderBy' kullanın. Her zaman buna sahipsin. –