2014-06-18 33 views
3

我需要正常化的文件路徑,使得該路徑的一部分可經由String.StartsWith(...)正火文件路徑

實施例匹配:

  • FULLPATH:C:/通用/方向1 /方向2 /文件。 TXT
  • 文件版本:C:\共同\

雖然這兩個文件路徑是等價的,公共部分不能通過該方法String.StartsWith(...)匹配。

我現在說API方法:Path.NormalizePath(path, true);可以做歸一化,但不幸的是這種方法是內部保護

我有什麼其他的機會來獲得文件路徑規範化? Path.GetFullPath(...)可能是選項,但僅適用於絕對文件路徑,因爲它會添加一個前綴,如:C:/

回答

4

下.NET這項工作2.0

using System; 
using System.Collections.Generic; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var path = @"C:/Common/Dir1/Dir2/file.txt"; 
      var canonicalPath = new Uri(path).LocalPath; 

      Console.WriteLine(canonicalPath.StartsWith(@"C:\Common\")); 

      Console.Read(); 
     } 
    } 
}