0

我需要阅读一个我知道其完整路径的文本文件,但一个文件夹的名称除外。我会用

string readText = File.ReadAllText(path + "\\" + unknownFolderName + "\\" + itemName);

但首先,我需要找出unknownFolderName以到达文件的完整路径。path下只有一个文件夹,我只需要在这个文件夹下输入,不知道它的名字。我怎样才能以最简单的方式实现这一目标?

4

4 回答 4

3

您可以尝试使用Directory.GetDirectories()。如果您保证该文件夹下只有一个文件夹,那么您应该可以通过以下方式进行操作:

string unknownPath = Directory.GetDirectories(path)[0];
//Now instead of this: [ string readText = File.ReadAllText(path + "\\" + unknownFolderName + "\\" + itemName) ], do this:
string readText = File.ReadAllText(unknownPath + "\\" + itemName);

那应该这样做。让我知道它是否适合你!

于 2013-02-27T09:00:13.930 回答
1

您可以使用返回字符串数组的Directory.GetDirectories静态方法(文档) - 您传递给该方法的路径中的目录的完整路径。所以尝试这样的事情(如果你确定至少有一个目录并且你想使用第一个):

string readText = File.ReadAllText(Directory.GetDirectories(path)[0] + "\\" + itemName);
于 2013-02-27T09:00:11.247 回答
0

如果您有多个文件夹,并且您不知道哪个是

看看下面的例子。您正在Windows以下路径中寻找:C:\_____\System32\notepad.exe

string path = @"C:\";
var itemName = @"System32\notepad.exe";

var directories = Directory.GetDirectories(path);

foreach (var dir in directories) {
    string fullPath = Path.Combine(dir, itemName);

    //If you found the correct directory!
    if (File.Exists(fullPath)) {
        Console.WriteLine(fullPath);
    }
}
于 2013-02-27T09:00:20.367 回答
0

使用它来获取目录下的文件夹名称:

http://www.developerfusion.com/code/4359/listing-files-folders-in-a-directory/

于 2013-02-27T09:01:31.197 回答