如何使用c#和DotNetZip将压缩文件添加到压缩文件

本文关键字:压缩 文件 添加 DotNetZip 何使用 | 更新日期: 2023-09-27 18:18:07

我使用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");

如何使用c#和DotNetZip将压缩文件添加到压缩文件

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

_myMemoryStream.Position = 0;