我需要规范化文件路径,以便通过String.StartsWith(...)
示例:
尽管这两个文件路径是等效的,但公共部分无法通过方法String.StartsWith(...)
进行匹配。
我现在API方法:Path.NormalizePath(path, true);
可以进行规范化,但遗憾的是这种方法内部受保护!
为了使文件路径规范化,我还有哪些其他机会? Path.GetFullPath(...)
可能是选项,但仅适用于绝对文件路径,因为它会为相对的字符添加前缀,如: C:/ 。
答案 0 :(得分:4)
.net 2.0下的这项工作
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var path = @"C:/Common/Dir1/Dir2/file.txt";
var canonicalPath = new Uri(path).LocalPath;
Console.WriteLine(canonicalPath.StartsWith(@"C:\Common\"));
Console.Read();
}
}
}