在ZipArchive类中创建多个具有不同扩展名的ZipArchiveEntry C#

时间:2016-05-30 20:25:54

标签: c# ziparchive

我正在试图找出如何创建包含具有不同扩展名的文件的zip存档,例如.txt文件,.html文件

如果我这样做:

using (var zipArchive = new ZipArchive(memory, ZipArchiveMode.Create, true))
{
    var file1= zipArchive .CreateEntry("file1.html");
    var file2= zipArchive .CreateEntry("file2.txt");

    using (var entryStream = file1.Open())
    using (var sw = new StreamWriter(entryStream))
    {
        streamWriter.Write("testing testinsg steing");
    }

    using (var entryStream = file2.Open())
    using (var sw = new StreamWriter(entryStream))
    {
        sw.Write("xyxyxyxyxyxy");
    }
}
  

创建模式中的条目只能写入一次,并且只能写入一个条目   可以一次开放。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

你只需要向下移动:

var file2= zipArchive .CreateEntry("file2.txt");

...并将 放在 后,您已完成对上一条目的写入:

using (var zipArchive = new ZipArchive(memory, ZipArchiveMode.Create, true))
{
    var file1= zipArchive .CreateEntry("file1.html");

    using (var entryStream = file1.Open())
    using (var sw = new StreamWriter(entryStream))
    {
        streamWriter.Write("testing testinsg steing");
    }

    var file2= zipArchive .CreateEntry("file2.txt"); // <-- move this down
    using (var entryStream = file2.Open())
    using (var sw = new StreamWriter(entryStream))
    {
        sw.Write("xyxyxyxyxyxy");
    }
}