Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ZipArchive类中使用不同的扩展名C创建多个ZipArchiveEntry#_C#_Ziparchive - Fatal编程技术网

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

C# 在ZipArchive类中使用不同的扩展名C创建多个ZipArchiveEntry#,c#,ziparchive,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"); usin

我正在试图弄清楚如何创建一个包含不同扩展名的文件的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");
    }
}
创建模式下的条目只能写入一次,并且只能写入一个条目 可以一次打开


我如何解决这个问题?

您只需向下移动即可:

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");
    }
}
使用(var zipArchive=new zipArchive(内存,ZipArchiveMode.Create,true))
{
var file1=zipArchive.CreateEntry(“file1.html”);
使用(var entryStream=file1.Open())
使用(var sw=新StreamWriter(entryStream))
{
streamWriter.Write(“testing testinsg steing”);
}

var file2=zipArchive.CreateEntry(“file2.txt”);//您只需要顺行移动:

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");
    }
}
使用(var zipArchive=new zipArchive(内存,ZipArchiveMode.Create,true))
{
var file1=zipArchive.CreateEntry(“file1.html”);
使用(var entryStream=file1.Open())
使用(var sw=新StreamWriter(entryStream))
{
streamWriter.Write(“testing testinsg steing”);
}

var file2=zipArchive.CreateEntry(“file2.txt”)59449实际上应该是
在前一个条目关闭之前不要创建另一个条目
@ManfredRadlwimmer谢谢兄弟!