如何使用C#和DotNetZip将zip文件添加到zip文件

时间:2013-06-11 18:04:17

标签: c# dotnetzip

我正在使用DotNetZip(http://dotnetzip.codeplex.com/)动态构建Zip文件。我希望能够在代码中创建一个ZIP文件,然后将其添加到代码中的另一个ZIP文件中。这会有用吗?我的代码如下。我正在尝试使用MemoryStream来保存内部zip文件,然后将该内存流添加到主zip文件中。我不确定这是否正确。当我尝试这个时,我的内部zip文件没有字节,当我尝试打开生成的主zip文件时它失败。

using (ZipFile _mainZip = new ZipFile())
{
  using (ZipFile _internalZip = new ZipFile())
  {
    ..add stuff to the internal zip..
    MemoryStream _myMemoryStream = new MemoryStream();
    _internalZip.Save(_myMemoryStream);
    _mainZip.AddEntry("myTitle.zip", _myMemoryStream);
  }
}
_mainZip.Save("myZip.zip");

1 个答案:

答案 0 :(得分:1)

可能是MemoryStream的位置在流的末尾。
您可以尝试将其设置为开头:

_myMemoryStream.Position = 0;

这可能有效。