我希望能够在使用DotNet Zip创建zip时包含给定订单的文件 .
文件没有按照它们添加到zip中的顺序出现.现在订单似乎是随机的.
我想首先包含文件xyz-Header,xyz-Summary,然后包含其余文件.
XYZ-Header.csv
XYZ-Summary.csv
XYZ-Male.csv
XYZ-Female.csv
其他文件的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;
}
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助.
没有理由必须在 zip 中对文件进行排序,您可以获取文件列表并给出您喜欢的任何顺序:
using (ZipFile zip = ZipFile.Read(NameOfExistingZipFile))
{
foreach (ZipEntry e in zip.Order(x => x.FileName))
{
// do your styff e.Extract();
}
}
Run Code Online (Sandbox Code Playgroud)