如何获取根目录

时间:2013-06-28 04:19:13

标签: c#

我的文件路径为

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:\\"

我怎样才能得到它?

N.B.~没有字符串拆分可能吗?

5 个答案:

答案 0 :(得分:6)

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

  

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

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

string rootPath = Path.GetPathRoot(filename);

答案 1 :(得分:3)

String pathname= @"D:\Accurev\PPF6-AvailableToUse_Test_4_4\eBizSol_App\Source\xyz.txt";    
string root = Path.GetPathRoot(pathname); 

答案 2 :(得分:2)

答案 3 :(得分:2)

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

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

  2. 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; 类的属性:

    {{1}}

答案 4 :(得分:1)

您可以使用Path.GetPathRoot方法。

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

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

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

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

  • 空字符串(路径指定当前驱动器或卷上的相对路径)。
  • "/"(路径指定当前驱动器上的绝对路径)。
  • "X:"(路径指定了驱动器上的相对路径,其中X表示驱动器或卷号)。
  • "X:/"(路径指定给定驱动器上的绝对路径)。
  • "\\ComputerName\SharedFolder"(UNC路径)。