我需要读取目录中的所有文件。即使文件夹中存在10个文件,下面的代码也只读取第一个文件。它不会抛出任何异常。为什么不打印其他文件名?任何帮助表示赞赏。
string[] txtFiles = Directory.GetFiles(@"D:\Sample", "*.txt");
foreach (string item in txtFiles)
{
string contents = File.ReadAllText(item);
if (contents.Contains("testing"))
{
Console.WriteLine(item);
}
}
在D:\ Sample中我有10个样本文件,其中包含单词testing。但它只读取Sample1.txt而不读其余内容。
Output: Sample1.txt
答案 0 :(得分:0)
请将文件变量更改为如下文件并尝试。
string[] array = Directory.GetFiles(@"D:\Sample", "*.txt");
foreach (string file in array)
{
Application.DoEvents();
string contents = File.ReadAllText(file);
if (contents.Contains("testing"))
{
Console.WriteLine(file);
}
}