1

我有一个文件路径

D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source\xyz.txt

如果我做

Path.GetDirectoryName(fileName)

我明白了

D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source

但我只想获取根目录,即"D:\\"

我怎么才能得到它?

NB~ 不分串可以吗?

4

5 回答 5

6

使用框架提供的Path.GetPathRoot方法

获取指定路径的根目录信息

对于您的情况,您可以使用:

string rootPath = Path.GetPathRoot(filename);
于 2013-06-28T04:21:02.663 回答
3

Directory.GetDirectoryRoot方法

于 2013-06-28T04:21:36.377 回答
3
String pathname= @"D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source\xyz.txt";    
string root = Path.GetPathRoot(pathname); 
于 2013-06-28T04:21:47.863 回答
2

你很幸运,有几种方法可以做同样的事情。这是其中的两个:

  1. Path.GetRootPath作为已经显示的其他答案

  2. DirectoryInfo.Root类的属性FileInfo

    var fileName=
        @"D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source\xyz.txt";
    
    var file=new FileInfo(fileName);
    var root=file.Directory.Root;
    
于 2013-06-28T04:29:46.183 回答
1

您可以Path.GetPathRoot为此使用方法。

  • 该方法获取指定路径的根目录信息。
  • 返回 path 的根目录,如“C:\”,如果 path 为 null,则返回 null,如果 path 不包含根目录信息,则返回空字符串。

所以,你可以简单地拥有string root = Path.GetPathRoot(fullFileName);

但是,此方法不会验证路径或文件名是否存在。

此方法返回的字符串的可能模式在 MSDN 上如下:

  • 空字符串(路径指定当前驱动器或卷上的相对路径)。
  • "/"(路径指定当前驱动器上的绝对路径)。
  • "X:"(路径指定驱动器上的相对路径,其中 X 表示驱动器或卷号)。
  • "X:/"(路径指定给定驱动器上的绝对路径)。
  • "\\ComputerName\SharedFolder"(UNC 路径)。
于 2013-06-28T04:25:11.383 回答