Directory.Getfiles()只读取文件夹中的第一个文件

时间:2014-04-18 21:44:36

标签: c# .net

我需要读取目录中的所有文件。即使文件夹中存在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

enter image description here

1 个答案:

答案 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);
            }
        }