如何对使用dotnet Zip创建的zip文件中包含的文件进行排序

5
我希望能够在使用DotNet Zip创建zip时,按照给定的顺序包含文件。
文件不会按照添加到zip的顺序显示。目前,它们似乎是随机的。
我希望首先包括文件xyz-Header、xyz-Summary,然后是其余的文件。
“xyz”和其他文件的名称是通过程序确定的,但Header和Summary文件始终会被包括。
代码片段:
    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;
    }

我希望你能帮助我解决这个问题。


我们可以看到任何代码吗? - Rob
1个回答

0

文件在压缩包中的顺序并不重要,你可以获取文件列表并按照任意顺序排列:

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

我正在使用Ionic.zip.dll。但是我没有**zip.Order()**选项。 - Aditya Korti
然后使用 OrderBy。你总是有这个选项。 - Jon Hanna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接