我是 C# 的新手,所以请耐心等待。我想要做的是读取一个文件夹中的所有文件,找到特定的行(在同一个文件中可能出现不止一次)并将该输出显示在屏幕上。
如果有人能指出我需要使用哪些方法的方向,那就太好了。 谢谢!
最佳答案
开始于
const string lineToFind = "blah-blah";
var fileNames = Directory.GetFiles(@"C:\path\here");
foreach (var fileName in fileNames)
{
int line = 1;
using (var reader = new StreamReader(fileName))
{
// read file line by line
string lineRead;
while ((lineRead = reader.ReadLine()) != null)
{
if (lineRead == lineToFind)
{
Console.WriteLine("File {0}, line: {1}", fileName, line);
}
line++;
}
}
}
正如尼克在下面指出的那样,您可以使用任务库进行并行搜索,只需将“foreach”替换为 Parallel.Foreach(filesNames, file=> {..});
Directory.GetFiles:http://msdn.microsoft.com/en-us/library/07wt70x2
关于c# - (C#) 如何读取文件夹中的所有文件以查找特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11059456/