C# 如何读取文件夹中的多个文本文件并将每个文本文件存储在数组C中#

C# 如何读取文件夹中的多个文本文件并将每个文本文件存储在数组C中#,c#,arrays,text-files,directory,C#,Arrays,Text Files,Directory,我想将文本存储在字符串数组中的textfiles中,并将其遍历到数据网格视图表中。我有什么办法可以做到吗 private string[] textfiles = Directory.GetFiles("D:\\UPLOADS", "*.txt") .Select(Path.GetFileName) .ToArray(); 我使用上述方法来获取文本文件 for

我想将文本存储在字符串数组中的textfiles中,并将其遍历到数据网格视图表中。我有什么办法可以做到吗

 private string[] textfiles = Directory.GetFiles("D:\\UPLOADS", "*.txt")
                                 .Select(Path.GetFileName)
                                 .ToArray();
我使用上述方法来获取文本文件

 for (int i = 0; i < excelfiles.Length; i++)
        {
            dt.Rows.Add(i, excelfiles[i], File.ReadAllText(textfiles[i]) , "24/12/16", "3.42pm", 837482, "Approve / Reject");
        }

谢谢

在这种情况下,您会发现有几个API是相关的

Directory.GetFiles()
返回文件夹中所有文件的完整路径数组

File.ReadAllText()
以字符串形式返回文件的所有内容


使用这两个选项,您肯定能够实现所请求的功能。

加载文本文件时,您将从完整文件名中删除路径D:\UPLOADS。因此,当您尝试读取文件名的内容时,您没有任何路径可提供给
File.ReadAllText

这将强制该方法尝试从当前进程目录(…\IIS Express…)中读取,其中没有这样的文件

您需要该路径来检索文件内容,这样您就可以删除Linq
Select
part并只留下

 private string[] textfiles = Directory.GetFiles("D:\\UPLOADS", "*.txt");

是的,有很多方法。你试过做什么吗?请读:
 private string[] textfiles = Directory.GetFiles("D:\\UPLOADS", "*.txt");