Абсолютный относительный путь
Я получаю файл из OpenFileDialog, который возвращает строку с абсолютным путем к выбранному файлу. Теперь я хочу, чтобы этот путь относительный путь к данному пути (в этом случае путь к моему приложению).
Итак, скажем, я получаю путь к файлу:
c:\myDock\programming\myProject\Properties\AssemblyInfo.cs
и мое приложение находится в
c:\myDock\programming\otherProject\bin\Debug\program.exe
тогда я хочу получить результат:
..\..\..\myProject\Properties\AssemblyInfo.cs
Ответы
Ответ 1
Класс 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\");