我需要阅读一个我知道其完整路径的文本文件,但一个文件夹的名称除外。我会用
string readText = File.ReadAllText(path + "\\" + unknownFolderName + "\\" + itemName);
但首先,我需要找出unknownFolderName以到达文件的完整路径。path下只有一个文件夹,我只需要在这个文件夹下输入,不知道它的名字。我怎样才能以最简单的方式实现这一目标?
我需要阅读一个我知道其完整路径的文本文件,但一个文件夹的名称除外。我会用
string readText = File.ReadAllText(path + "\\" + unknownFolderName + "\\" + itemName);
但首先,我需要找出unknownFolderName以到达文件的完整路径。path下只有一个文件夹,我只需要在这个文件夹下输入,不知道它的名字。我怎样才能以最简单的方式实现这一目标?
您可以尝试使用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);
那应该这样做。让我知道它是否适合你!
您可以使用返回字符串数组的Directory.GetDirectories
静态方法(文档) - 您传递给该方法的路径中的目录的完整路径。所以尝试这样的事情(如果你确定至少有一个目录并且你想使用第一个):
string readText = File.ReadAllText(Directory.GetDirectories(path)[0] + "\\" + itemName);
如果您有多个文件夹,并且您不知道哪个是:
看看下面的例子。您正在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);
}
}