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