如何从Zip文件夹的层次结构中获取文件



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

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

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

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

using System;
using System.IO.Compression;
namespace ZipReader
{
    class Program
    {
        const string zipPath = @"D:testtest.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您可以根据需要处理。

最新更新