-3

我对 C# 很陌生,我正在尝试编写一个程序,从我的计算机中打开一个包含多个文本文档的文件夹。我想要做的是创建一个字符串数组,其中存储每个文本文件的名称。我需要有人向我展示一种将所有这些文本文件名存储到此数组中的方法。任何建议或解决方案将不胜感激。

4

4 回答 4

2

如果所有文本文件都在同一个目录中,那么这应该会有所帮助

        DirectoryInfo DR = new DirectoryInfo(@"C:/Path_to_file");
        FileInfo[] textFiles = DR.GetFiles("*.txt");

编辑: 要获取文件的名称,您可以使用

        List<string> fileNames = new List<string>();
        foreach (FileInfo file in textFiles)
        {
            fileNames.Add(file.Name);
        }
于 2013-08-02T18:01:26.640 回答
1

我想要做的是创建一个字符串数组,其中存储每个文本文件的名称

 List<string> fileNames = new List<string>();
 fileNames.Add(yourFileName);

如果你想从目录中获取所有文件

 List<string> fileNames=  Directory.GetFiles("directorypath","*.txt").ToList();
于 2013-08-02T17:57:13.527 回答
1

你调查过File.ReadAllLines吗?您可以在文件中获取文本文件列表(逐行列出)。

string[] fileNames = File.ReadAllLines(@"C:\test\filePaths.txt");
foreach (string fileName in fileNames)
{
    Console.WriteLine(fileName);
}
于 2013-08-02T18:00:14.507 回答
1

根据您的评论,使用以下代码:

using System;
using System.IO;

namespace SQLiteEntityMigrator
{
    class Program
    {
        static void Main()
        {
            string pathToDirectory = @"C:\Files";
            System.IO.DirectoryInfo diDir = new DirectoryInfo(pathToDirectory);
            System.IO.FileInfo[] files = diDir.GetFiles();

            foreach (FileInfo lfileInfo in files)
            {
                // Work with files
                Console.WriteLine(lfileInfo.Name);
            }
        }
    }
}
于 2013-08-02T18:06:00.310 回答