Answers:
如果您绝对有绝对路径,请使用Path.GetDirectoryName(path)
。
如果您可能只会得到一个相对名称,请使用new FileInfo(path).Directory.FullName
。
请注意,Path
和FileInfo
都可以在命名空间中找到System.IO
。
new FileInfo(path).Directory.FullName
无论哪种情况都可以。
如果使用的是FileInfo
对象,则有一种简单的方法可以string
通过DirectoryName
属性来提取目录的完整路径的表示形式。
FileInfo.DirectoryName
通过MSDN 对财产的描述:
获取表示目录的完整路径的字符串。
用法示例:
string filename = @"C:\MyDirectory\MyFile.bat";
FileInfo fileInfo = new FileInfo(filename);
string directoryFullPath = fileInfo.DirectoryName; // contains "C:\MyDirectory"
链接到MSDN文档。
您可以Path.GetFullPath
在大多数情况下使用。但是,如果您还想在文件名相对定位的情况下获取路径,则可以使用以下通用方法:
string GetPath(string filePath)
{
return Path.GetDirectoryName(Path.GetFullPath(filePath))
}
例如:
GetPath("C:\Temp\Filename.txt")
返回 "C:\Temp\"
GetPath("Filename.txt")
current working directory
像返回"C:\Temp\"
@"C:\MyDirectory\MyFile.bat"