我从OpenFileDialog获取一个文件,该文件返回一个字符串,其中包含所选文件的绝对路径。现在我希望该路径作为给定路径的相对路径(在这种情况下是我的应用程序的路径)。
所以我想说我得到了一个文件的路径:
c:\myDock\programming\myProject\Properties\AssemblyInfo.cs
我的申请表位于
c:\myDock\programming\otherProject\bin\Debug\program.exe
然后我想要结果:
..\..\..\myProject\Properties\AssemblyInfo.cs
答案 0 :(得分:28)
Uri
类有MakeRelativeUri
方法可以提供帮助。
public static string MakeRelative(string filePath, string referencePath)
{
var fileUri = new Uri(filePath);
var referenceUri = new Uri(referencePath);
return referenceUri.MakeRelativeUri(fileUri).ToString();
}
var result = MakeRelative(@"C:\dirName\dirName2\file.txt", @"C:\dirName\");