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

Kob*_*_24 1 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");
    }
}
Run Code Online (Sandbox Code Playgroud)

创建模式中的条目只能写入一次,并且一次只能打开一个条目.

我怎么解决这个问题?

sst*_*tan 6

你只需要向下移动:

var file2= zipArchive .CreateEntry("file2.txt");
Run Code Online (Sandbox Code Playgroud)

...并在完成对上一个条目的写入放置它:

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");
    }
}
Run Code Online (Sandbox Code Playgroud)