当我们在做文件处理相关的操作时,有时候会需要获取文件的路径信息,此时我们就可以使用C#中的Path.GetDirectoryName方法。
方法作用
Path.GetDirectoryName方法是一个静态方法,用于获取指定路径字符串包含的目录信息。具体而言,Path.GetDirectoryName方法可以对传入的字符串路径进行处理,将其最后一个目录或文件名去除,返回包含路径中前面的目录部分的字符串。例如,当传入路径为”C:\Program Files\Microsoft Visual Studio\FirstConsole\Program.cs”时,方法将返回”C:\Program Files\Microsoft Visual Studio\FirstConsole”,这就是路径中除去文件名后的目录。
方法用法
Path.GetDirectoryName方法的用法非常简单。大致用法如下:
string directory = Path.GetDirectoryName(path);
其中,参数path是要获取目录信息的路径参数,即需要获取路径的字符串。方法的返回值directory是处理后的路径字符串,即包含路径中前面的目录部分的部分字符串。
方法示例
下面我们来看两个使用Path.GetDirectoryName方法的示例,以便更好地理解它的用法。
示例一
string path = "C:\\Program Files\\Microsoft Visual Studio\\FirstConsole\\Program.cs";
string directory = Path.GetDirectoryName(path);
Console.WriteLine(directory);
输出结果为:
C:\Program Files\Microsoft Visual Studio\FirstConsole
这个示例中,我们首先声明了路径字符串,并用Path.GetDirectoryName方法获取了其去掉文件名后的目录部分。最后我们将获取到的目录字符串打印出来。
示例二
void TraverseFolder(string path)
{
if (Directory.Exists(path))
{
Console.WriteLine("Folder:" + path);
foreach (string directory in Directory.GetDirectories(path))
TraverseFolder(directory);
}
else
{
Console.WriteLine("File:" + path);
}
}
string path = "C:\\Program Files\\Microsoft Visual Studio";
TraverseFolder(path);
输出结果为:
Folder:C:\Program Files\Microsoft Visual Studio
Folder:C:\Program Files\Microsoft Visual Studio\2019
Folder:C:\Program Files\Microsoft Visual Studio\Shared
Folder:C:\Program Files\Microsoft Visual Studio\Installer
File:C:\Program Files\Microsoft Visual Studio\.NETFramework.props
File:C:\Program Files\Microsoft Visual Studio\.NETFramework.targets
这个示例中,我们通过递归遍历目录下所有的文件和文件夹,并通过判断是否为文件夹来获取当前路径的目录信息。在递归过程中,我们用Path.GetDirectoryName方法获取了传递过来的路径的目录信息,并将其打印出来。
综上所述,Path.GetDirectoryName方法是C#中获取路径的目录信息的一种方法。它的使用非常简单,只需要传入路径字符串即可。