C#确定文本文件名

时间:2012-06-18 12:25:49

标签: c# file file-io

如何更改此内容以确定其目录中的文本文件?

string[] file = new string[] {
    "abc",
    "def",
    "file3"};
var files = (UInt16)file.Length;
for (UInt16 n = 0; n < files; n++)
{
    var streamReader =
        new System.IO.StreamReader(
            file[n] + ".txt");
    ...
    streamReader.Close();
    ...
}

4 个答案:

答案 0 :(得分:6)

string[] files = Directory.GetFiles(@"c:\MyDir\", "*.txt");

更新一些用法:

foreach (var filename in files)
{
    string allText = File.ReadAllText(filename);
    // or string[] lines = File.ReadLines(filename);
}

答案 1 :(得分:3)

使用Directory.GetFiles

var files = Directory.GetFiles(Directory.GetCurrentDirectory(),"*.txt");

如果你想包含子目录:

var files = Directory.GetFiles(Directory.GetCurrentDirectory(),"*.txt",
    SearchOption.AllDirectories);

答案 2 :(得分:3)

可以使用Directory.GetFiles,或多或少

string[] dirs = Directory.GetFiles(@"/*Parent directory*/", "*.txt");

如果这不是您所要求的,请澄清。

答案 3 :(得分:1)

尝试发布明确问题,以便获得正确答案。

如果要获取“* .txt”类型的所有文件。试试这段代码

DirectoryInfo dir = new DirectoryInfo("Path");
var allTextFiles = dir.GetFiles("*.txt", SearchOption.AllDirectories);