如何对使用dotnet Zip创建的zip文件中包含的文件发出命令

时间:2015-07-07 05:29:39

标签: c# csv dotnetzip

我希望能够在使用 DotNet Zip 创建zip时包含给定订单的文件。

文件不会出现在添加到zip中的序列中。现在订单似乎是随机的。

我想首先包含xyz-Header,xyz-Summary文件,然后包含其余文件。

  

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

我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:0)

没有理由要在zip中订购文件,你可以获得文件列表并给它任何你喜欢的订单:

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