我正在尝试编写一个文本搜索例程,该例程将扫描目录以查找给定的通配符文件规范,并扫描匹配项以查找给定的搜索字符串。一切正常,除了我获取ZIP文件时。这是相关代码:
string fileText = File.ReadAllText(filePath);
foreach (string s in lstSearchStrings.Items)
{
int cnt = CountSubStrings(fileText, s);
lstCounts.Items.Add(cnt.ToString());
}
我知道它仅使用基于文本的例程,因此我可能需要更改它。在哪里进行更改/做什么的任何帮助将不胜感激!
您可以使用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);