如何对使用 dotnet Zip 创建的 zip 文件中包含的文件下订单

How to give an Order to the files included in zip file created with dotnet Zip

我希望能够在使用 DotNet Zip.

创建 zip 时包含具有给定顺序的文件

文件未按添加到 zip.For 的顺序出现,现在顺序似乎是随机的。

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

xyz-Header.csv

xyz-Summary.csv

xyz-Male.csv

xyz-Female.csv

xyz 和其他文件的名称 以编程方式确定 但 Header 和摘要文件始终包含在内。

代码片段

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

如有任何帮助,我将不胜感激。

没有理由必须在 zip 中对文件进行排序,您可以获得文件列表并按照您喜欢的顺序进行排列:

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