我有一个像这样的目录结构: A.zip - 一个 - 一个 - 1.dat 2.dat
我想读取目录层次结构中的1.dat和2.dat文件。我能够通过C#读取文件内容,如果文件直接在zip文件夹中,但由于内部目录结构变得无法访问。
任何帮助将不胜感激。 提前谢谢。
答案 0 :(得分:1)
不知道如何在没有示例的情况下阅读zip文件内容,但是使用System.IO.Compression
和System.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
,您可以根据需要进行操作。