我需要读取一个我知道其完整路径的文本文件,除了一个文件夹的名称。我会用
string readText = File.ReadAllText(path + "\\" + unknownFolderName + "\\" + itemName);
但首先,我需要找到 unknownFolderName 来到达文件的完整路径。 path 下只有一个文件夹,我需要做的就是在这个文件夹下输入,而不知道它的名字。我怎样才能以最简单的方式实现这一目标?
答案 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)
如果您有多个文件夹,并且您不知道哪个是:
看一下下面的例子。您正在寻找以下路径中的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);
}
}
答案 3 :(得分:0)