我试图找出如何创建一个包含不同扩展名的文件的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)
创建模式中的条目只能写入一次,并且一次只能打开一个条目.
我怎么解决这个问题?
你只需要向下移动:
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)