如何获取.zip内容的类型和数量

时间:2010-04-22 10:00:18

标签: c# compression gzipstream

如何在C#中获取压缩文件夹的内容名称,即压缩文件夹中的文件和文件夹的名称? 我想通过仅使用GZipStream来解压缩zip。

感谢, 卡皮尔

1 个答案:

答案 0 :(得分:0)

您不能仅使用GZipStream执行此操作。您需要实现ZIP标准,例如#ziplib。从MSDN引用:

  

写入压缩的GZipStream对象   到扩展名为.gz的文件即可   使用许多常见的解压缩   压缩工具;但是,这堂课   本身并不提供   将文件添加到或的功能   从.zip档案中提取文件。

#ziplib的例子:

using (var stream = File.OpenRead("test.zip"))
using (var zipStream = new ZipInputStream(stream))
{
    ZipEntry entry;
    while ((entry = zipStream.GetNextEntry()) != null)
    {
        // entry.IsDirectory, entry.IsFile, ...
        Console.WriteLine(entry.Name);
    }
}