c# 检索指定文件夹下所有文件以及子文件夹下文件的字符串,获取sfun.UpOperation起始的字符串
时间: 2023-12-04 19:05:05 浏览: 115
你可以使用 C# 的递归函数来遍历指定文件夹下的所有文件及其子文件夹,然后使用 StreamReader 对每个文件进行读取,检索包含字符串 "sfun.UpOperation" 的行,并输出该行的内容。以下是一个示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
string folderPath = @"C:\YourFolderPath"; // 指定文件夹路径
string searchStr = "sfun.UpOperation"; // 指定要检索的字符串
SearchFiles(folderPath, searchStr); // 调用递归函数
}
static void SearchFiles(string folderPath, string searchStr)
{
try
{
foreach (string file in Directory.GetFiles(folderPath))
{
// 读取文件内容,检索包含指定字符串的行,并输出该行的内容
using (StreamReader sr = new StreamReader(file))
{
string line;
while ((line = sr.ReadLine()) != null)
{
if (line.Contains(searchStr))
{
Console.WriteLine(line);
}
}
}
}
// 递归遍历子文件夹
foreach (string subFolder in Directory.GetDirectories(folderPath))
{
SearchFiles(subFolder, searchStr);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
```
注意,上述代码只会输出包含指定字符串的行,而不是整个文件内容。如果需要输出整个文件内容,可以将 `Console.WriteLine(line)` 改为 `Console.WriteLine(File.ReadAllText(file))`。
阅读全文