C# 獲取相對路徑(絕對路徑轉相對路徑)


這個的方法有很多吧。

1. 用PInvok調用Windows API的PathRelativePathTo

2. 自行處理字符串

3. 利用Uri

前兩種就不說了,覺得有點麻煩,想了解的同學,自已,百度Google一下吧。

第3種,也沒啥好說的,直接Code。

 1         public static string GetRelativePath(string filespec, string folder)
 2         {
 3             const string directorySeparatorChar = "\\";
 4             Uri pathUri = new Uri(filespec);
 5 
 6             if (!folder.EndsWith(directorySeparatorChar))
 7             {
 8                 folder += directorySeparatorChar;
 9             }
10             Uri folderUri = new Uri(folder);
11             return Uri.UnescapeDataString(folderUri.MakeRelativeUri(pathUri).ToString().Replace("/", directorySeparatorChar));
12         }

因為這個我是在WinRT里用的,在WinRT里,沒有 Path.DirectorySeparatorChar,你在其它環境下使用Path.DirectorySeparatorChar 替換 "\\"。

 
        
 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM