我有一个绝对文件夹路径和文件路径,如下所示:
C:\BaseDir
-基本文件夹
C:\BaseDir\sub\123.txt
- 位于基本文件夹中的文件路径(但也可能包含一些子文件夹)
文件路径的另一个例子:C:\BaseDir\file.docx
或C:\BaseDir\sub\sub1\file.exe
我需要根据基本文件夹将文件的路径从绝对路径转换为相对路径。结果应类似于以下内容:sub\123.txt
; file.docx
;sub\sub1\file.exe
请注意,我不想BaseDir
在路径中。解决方案也应该适用于网络文件夹(\\Server1\BaseDir\file.docx
或\\172.31.1.60\BaseDir\sub\123.txt
)。
是否有任何内置类可以做到这一点?
学分做这个帖子:绝对到相对路径
public static string AbsoluteToRelativePath(string pathToFile, string referencePath)
{
var fileUri = new Uri(pathToFile);
var referenceUri = new Uri(referencePath);
return referenceUri.MakeRelativeUri(fileUri).ToString();
}
现在你可以像这样使用它
var result = AbsoluteToRelativePath(@"C:\dir\path\to\file.txt", @"C:\dir\");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句