【问题标题】:How to Check File Exist or Not in WinRAR, 7Zip, Zip, Tar, Winzip in C#如何在 C# 中的 WinRAR、7Zip、Zip、Tar、Winzip 中检查文件是否存在
【发布时间】:2020-02-15 06:59:38
【问题描述】:

在我的项目中,我正在上传7ZipZipTarWinzipWinRAR 等文件。

现在我想使用 C# 检查上传的存档中是否存在特定文件。

谁能帮帮我?

【问题讨论】:

  • 为什么需要检查它是否存在 in WinRAR、7Zip、Zip、Tar 或 WinZip 而不是只检查它是否存在?
  • 在我的项目中,用户将上传 WinRAR、7Zip、Zip、Tar 或 Winzip 文件,但对于少数验证,例如上传的 zip 包含有效文件/文件夹,上传的文件中有任何病毒或任何无效文件或我们不允许的任何其他资源或文件等
  • 例如,我有 3 个不同的文件 ABC1.txt、ABC2.txt 和 ABC3.txt,现在我为相同的文件创建 WinRAR 文件。现在根据我的记录 WinRAR 文件没问题,有 3 个不同的文件,但现在有人在服务器中打开该文件并错误删除任何文件假设 ABC2.txt 被删除,然后当我提取 WinRAR 文件时,找不到 ABC2.txt并且根据我的项目逻辑的进一步依赖/功能,我的代码将抛出自定义异常文件 ABC2.txt 文件未找到。

标签: c# zip 7zip winrar ionic-zip


【解决方案1】:
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
    Boolean isFolderExist = false;

    foreach (ZipArchiveEntry entry in archive.Entries) {
        if (entry.FullName.Contains("PDFsDir/")) {                       
            isFolderExist = true;
        }
    }

    if (isFolderExist) {
        Console.WriteLine("the folder which name is pictures exists in zip file");
        if(entry.FileName.Contains( "PDFsDir" )==true) {
            Console.WriteLine("File Exist");
        }
    } else {
        Console.WriteLine("the folder doesn't exist ");
    }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-12-02
  • 2019-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 2018-04-21
相关资源
最近更新 更多