0

我如何更改它以确定其目录本身中的文本文件?

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

4 回答 4

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

更新一些用法:

foreach (var filename in files)
{
    string allText = File.ReadAllText(filename);
    // or string[] lines = File.ReadLines(filename);
}
于 2012-06-18T12:28:43.173 回答
3

使用Directory.GetFiles

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

如果你想包含子目录:

var files = Directory.GetFiles(Directory.GetCurrentDirectory(),"*.txt",
    SearchOption.AllDirectories);
于 2012-06-18T12:29:38.193 回答
3

可以使用Directory.GetFiles,或多或少像这样

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

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

于 2012-06-18T12:30:08.853 回答
1

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

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

DirectoryInfo dir = new DirectoryInfo("Path");
var allTextFiles = dir.GetFiles("*.txt", SearchOption.AllDirectories);
于 2012-06-18T12:52:45.333 回答