我希望能够在使用 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;
}
我将不胜感激任何帮助。
答案 0 :(得分:0)
没有理由要在zip中订购文件,你可以获得文件列表并给它任何你喜欢的订单:
using (ZipFile zip = ZipFile.Read(NameOfExistingZipFile))
{
foreach (ZipEntry e in zip.Order(x => x.FileName))
{
// do your styff e.Extract();
}
}