【问题标题】:Save ZipArchive to file将 ZipArchive 保存到文件
【发布时间】:2017-02-28 01:53:35
【问题描述】:

在我的应用程序中,我有一个使用 System.IO.Compression.ZipArchive 处理 zip 存档的类。 现在我想将存档的条目保存到文件中。我怎样才能做到这一点?我知道我可以将 Stream 与存档相关联,但在我的情况下,存档会创建没有流并且我无法更改代码:

var archive = ZipFile.Open(fileName, ZipArchiveMode.Create);
// add entries
// how can I save it to file now?

【问题讨论】:

  • 请查看这个答案:stackoverflow
  • 感谢大家的回答,但这不是我需要的。正如我所说,我使用System.IO.Compression.ZipArchive,我无法将其更改为另一个库。
  • 不清楚你在问什么。你能详细解释一下你的用例吗?
  • 当然,但具体有什么不清楚的地方?

标签: c# stream ziparchive


【解决方案1】:

您已经“将其保存到一个文件”,即fileName 所指示的文件。

为确保所有内容都已写入和刷新,请使用 using

using (var archive = ZipFile.Open(fileName, ZipArchiveMode.Create))
{
   // add entries
   ....

}  // here it is saved and closed

【讨论】:

  • 谢谢,@Henk Holterman,你说得对,我注意到这段代码创建了一个文件。不幸的是,尽管我添加了几个 ZipArchiveEntry 项目,但它是空的。
  • 没关系,我找到了办法。在我的代码中,我没有使用using,所以看起来该文件仍然处于打开状态。我在我的类析构函数中添加了archive.Dispose(),现在它工作正常,按预期创建存档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-09
  • 2012-09-27
  • 2010-10-16
  • 2016-06-11
  • 2018-04-20
  • 2013-11-11
相关资源
最近更新 更多