如何从Zip文件夹

时间:2017-03-28 10:16:30

标签: c# .net zip

我有一个像这样的目录结构:  A.zip -   一个 -   一个 -   1.dat   2.dat

我想读取目录层次结构中的1.dat和2.dat文件。我能够通过C#读取文件内容,如果文件直接在zip文件夹中,但由于内部目录结构变得无法访问。

任何帮助将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

不知道如何在没有示例的情况下阅读zip文件内容,但是使用System.IO.CompressionSystem.IO.Compression.FileSystem程序集读取zip文件内容非常简单。请参阅以下示例,了解如何读取所有文件,无论zip文件中的子目录如何:

using System;
using System.IO.Compression;

namespace ZipReader
{
    class Program
    {
        const string zipPath = @"D:\test\test.zip";

        static void Main(string[] args)
        {
            using (var archive = ZipFile.OpenRead(zipPath))
            {
                foreach (var entry in archive.Entries)
                {
                    Console.WriteLine(entry.FullName);
                }
            }

            Console.ReadKey();
        }
    }
}

产生以下输出:

folder1/test1.txt
folder2/test2.txt

要获取内容,您只需在每个文件上调用entry.Open(),然后返回Stream,您可以根据需要进行操作。