首页 > 学院 > 开发设计 > 正文

C# 获取相对路径(绝对路径转相对路径)

2019-11-17 02:55:19
字体:
来源:转载
供稿:网友

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 替换"//"。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表