Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解压缩包含目录的ZLib归档文件_C#_Zip_Archive_Zlib_Dotnetzip - Fatal编程技术网

C# 解压缩包含目录的ZLib归档文件

C# 解压缩包含目录的ZLib归档文件,c#,zip,archive,zlib,dotnetzip,C#,Zip,Archive,Zlib,Dotnetzip,我有一个Zlib格式的档案。我正试图用C#解压它。存档包含一个文件和一个文件夹,其中包含多个文件和文件夹。到目前为止,我已经能够解压缩单个顶级文件。然而,目录并没有神奇地出现,我甚至不知道从哪里开始。到目前为止,我已经用DeflateStream成功地解压缩了顶级文件。我有DotNetZip,正在使用它,但我不知道如何从找到的解压缩函数返回的字节数组中创建一个装满文件的文件夹。这应该可以: using (ZipFile zip = ZipFile.Read(ExistingZipFile)) {

我有一个Zlib格式的档案。我正试图用C#解压它。存档包含一个文件和一个文件夹,其中包含多个文件和文件夹。到目前为止,我已经能够解压缩单个顶级文件。然而,目录并没有神奇地出现,我甚至不知道从哪里开始。到目前为止,我已经用DeflateStream成功地解压缩了顶级文件。我有DotNetZip,正在使用它,但我不知道如何从找到的解压缩函数返回的字节数组中创建一个装满文件的文件夹。

这应该可以:

using (ZipFile zip = ZipFile.Read(ExistingZipFile))
{
   foreach (ZipEntry e in zip)
   {
      e.Extract(TargetDirectory, true);  // overwrite existing files
   }
}

有什么原因不能使用.NET 4.5附带的
ZipArchive
类吗?发布一些代码,我们将提供帮助!我没听说过。但是,我尝试使用来自的代码,并得到一个InvalidDataException,消息为“找不到中央目录记录的结尾”。这个类适合解压ZLib吗?没有“ZLib归档”这样的东西。你是说拉链吗?广州?gz?如果你能让我相信这一点,它将对我的项目产生重大影响。该文件是使用默认ZLib压缩在Delphi中创建的专有文件格式。它有一个ZLib头,跳过该头可以使用DeflateStream对顶级文件进行解压缩。就我所知。我尝试的其他方法都会导致实现出错。@KimSchneider我甚至无法编译它。该代码是否使用
System.IO.Compression命名空间
Ionic.ZLib
,或
Ionic.Zip
?ZipFile类在System.IO.Compression命名空间中声明。它需要框架的v4.5版本。