C# 检查Zip文件内容和解压缩

C# 检查Zip文件内容和解压缩,c#,extract,unzip,zipfile,C#,Extract,Unzip,Zipfile,嗨,我想提取一个ZipFile,其中包含各种文本文件。但我可能认为de文本文件在一个文件夹中。所以我想做的是:如果一个文件夹存在,只要正常地删除,如果不创建一个名为ZipFile的文件夹。原因是我不希望文件夹中有同名的文件夹 我以前的代码: foreach (string file in newZips) { FileInfo fileInfo = new FileInfo(file); string dirName = newPath + "\\" +

嗨,我想提取一个ZipFile,其中包含各种文本文件。但我可能认为de文本文件在一个文件夹中。所以我想做的是:如果一个文件夹存在,只要正常地删除,如果不创建一个名为ZipFile的文件夹。原因是我不希望文件夹中有同名的文件夹

我以前的代码:

    foreach (string file in newZips) {

        FileInfo fileInfo = new FileInfo(file);
        string dirName = newPath + "\\" + fileInfo.Name.Substring(0, fileInfo.Name.Length - 4);
        Console.WriteLine(dirName);
        Directory.CreateDirectory(dirName);
        ZipFile.ExtractToDirectory(allZipsPath + "\\" + fileInfo.Name, dirName);
    }
也许这对你有帮助:

string path = @"C:\..\..\myFolder";
if(!Directory.Exists(path))
{
    Directory.CreateDirectory(path);
}
这就是检查路径是否包含所需文件夹的方法。如果没有,它会创建那个文件夹

---编辑(如果未知zip名称)---


你的问题是什么?如果Zip文件包含一个包含正常解压文本文件的文件夹。如果Zip文件不包含文件夹,只包含文本文件,请将其解压缩并创建一个类似Zip文件的文件夹。zipFile是否可以这样做?当然。。。字符串myZip=@“C:\…\…\myZip.zip”;这也是可能的。C#的目录类功能非常强大。但是如果我不知道zipFile中的文件夹名称,又会怎样呢?因为它可能不同?这是我需要再次询问的。我知道如何加载zip文件,但zip文件的内容对我来说很重要。Zipfile中是否有文件夹?你明白我的意思吗?你得先把它解开。。。然后你可以查看zipfile中是否有文件夹。。。你可以用楼上的代码检查一下。
string myPathToZip = @"C:\..\..\folderName";
foreach (string file in Directory.GetFiles(myPathToZip, "*.zip", SearchOption.AllDirectories))
{ 
    //the current path of the zipFile (with the Name included)
    var path = new FileInfo(file.ToString());

    //The filename
    var filename = Path.GetFileName(file.ToString()).Replace(".zip", "");
}