首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ziparchive:如何关闭从ziparchive创建的条目

Ziparchive:如何关闭从ziparchive创建的条目
EN

Stack Overflow用户
提问于 2018-08-07 05:18:37
回答 1查看 4.7K关注 0票数 3

我已经编写了一个方法,如下所示,将多个内存流绑定到ziparchive。该代码适用于一个流,但如果我通过迭代添加多个流,则会在for循环的第2行中显示以下错误。

代码语言:javascript
复制
 System.IO.IOException: 'Entries cannot be created 
 while previously created entries are still open.' 

我的密码

代码语言:javascript
复制
 using (var zip = new ZipArchive(outputStream, ZipArchiveMode.Create, 
 leaveOpen: false))
  {

        for (int i = 0; i < msList.Count; i++)
        {
          msList[i].Position = 0;
         var createenter = zip.CreateEntry("123"+i+".jpg", 
         CompressionLevel.Optimal);
         msList[i].CopyTo(createenter.Open());

         }
   }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-07 05:23:19

您可能错过了打开的using Stream

代码语言:javascript
复制
 using (var zip = new ZipArchive(outputStream, ZipArchiveMode.Create, leaveOpen: false))
 {
    for (int i = 0; i < msList.Count; i++)
    {
        msList[i].Position = 0;
        var createenter = zip.CreateEntry("123"+i+".jpg", 
        CompressionLevel.Optimal);
        using (var s = createenter.Open())
        {
            msList[i].CopyTo(s);
        }
    }
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51719292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档