【问题标题】:Read all text files in a folder with StreamReader使用 StreamReader 读取文件夹中的所有文本文件
【发布时间】:2013-01-15 19:43:19
【问题描述】:

我正在尝试使用流阅读器读取文件夹中的所有 .txt 文件。我现在有这个,它适用于一个文件,但我需要读取文件夹中的所有文件。这就是我到目前为止所拥有的。任何建议将不胜感激。

using (var reader = new StreamReader(File.OpenRead(@"C:\ftp\inbox\test.txt")))

【问题讨论】:

标签: c#


【解决方案1】:

您可以使用Directory.EnumerateFiles() 方法代替。

返回与搜索匹配的可枚举文件名集合 指定路径中的模式。

var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.txt");
foreach (string currentFile in txtFiles)
{
   ...
}

【讨论】:

    【解决方案2】:

    您可以拨打Directory.EnumerateFiles()查找文件夹中的所有文件。

    【讨论】:

    • 感谢您的回复。我是编程新手,不知道如何使用它。
    • 具体有什么不明白的?听起来你需要学习 C#。
    • 是的,我确实需要学习 C#。这就是我在这里的原因。我可以将 Directory.EnumerateFiles() 与流阅读器一起使用吗?
    • @robertwoods:是的。您需要遍历返回的集合,以便读取每个文件。
    【解决方案3】:

    您可以检索目录的文件:

    string[] filePaths = Directory.GetFiles(@"c:\MyDir\");
    

    因此,您可以迭代每个文件以执行您想要的任何操作。例如:读取所有行。

    您还可以使用文件掩码作为GetFiles 方法的第二个参数。

    编辑:

    在这篇文章中,您可以看到EnumerateFilesGetFiles 之间的区别。

    What is the difference between Directory.EnumerateFiles vs Directory.GetFiles?

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 2021-11-06
      • 2023-04-10
      • 2021-04-29
      相关资源
      最近更新 更多