【问题标题】:How to Detect a Compressed File in C#如何在 C# 中检测压缩文件
【发布时间】:2020-07-26 14:52:47
【问题描述】:

我正在尝试编写一个文本搜索例程,该例程扫描目录以查找给定的通配符文件规范并扫描给定搜索字符串的匹配项。一切正常,除了当我访问 ZIP 文件时。以下是相关代码:

            string fileText = File.ReadAllText(filePath);
            foreach (string s in lstSearchStrings.Items)
            {
                int cnt = CountSubStrings(fileText, s);
                lstCounts.Items.Add(cnt.ToString());
            }

我知道它只使用基于文本的例程,所以我可能需要更改它。任何关于在哪里进行更改/做什么的帮助将不胜感激!

【问题讨论】:

  • “不起作用”是什么意思?
  • 它读取压缩文件中的文件名,但不能读取文件本身。只是寻找打开/读取 zip 文件中文件的正确方法。

标签: c# file search compression


【解决方案1】:

您可以使用 SharpZipLib 读取内部 zip 文件。

using ICSharpCode.SharpZipLib.Zip;

using (var zipFile = new ZipFile(@"test.zip"))
{
    foreach (ZipEntry entry in zipFile)
    {
        Console.WriteLine(entry.Name);
    }
}

首先,您使用扩展名检测 zip 文件。然后阅读使用上述方法的那些。

string fileText = File.ReadAllText(entry.name);

【讨论】:

  • 谢谢。我刚刚找到 DotNetZip,并且正在学习如何使用它。您发布的代码看起来与我在尝试的示例中看到的相同。那怎么样!
猜你喜欢
  • 2012-09-03
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
相关资源
最近更新 更多