如何在不知道其名称的情况下输入文件夹?

时间:2013-02-27 08:54:57

标签: c# text-files

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

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

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

4 个答案:

答案 0 :(得分:3)

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

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);

应该这样做。如果它适合你,请告诉我!

答案 1 :(得分:1)

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

string readText = File.ReadAllText(Directory.GetDirectories(path)[0] + "\\" + itemName);

答案 2 :(得分:0)

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

看一下下面的例子。您正在寻找以下路径中的WindowsC:\_____\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);
    }
}

答案 3 :(得分:0)

使用此命令获取目录下的文件夹名称:

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