тип c# для обработки относительных и абсолютных URI и локальных путей к файлам
у меня есть варианты использования, где я буду иметь дело с обоими локальными путями файлов (например,c:foobar.txt
) и URI (например http://somehost.com/fiz/baz
). Я также буду иметь дело с относительными и абсолютными путями, поэтому мне нужна функциональность, такая как Path.Combine
и друзей.
есть ли существующий тип C#, который я должен использовать? на тип Uri может работать, но на беглый взгляд, это, кажется, только URI.
1 ответов
используя класс Uri, он, похоже, работает. Он превращает любой путь к файлу в ' file:///...- синтаксис в Uri. Он обрабатывает любой URI, как ожидалось, и имеет возможность иметь дело с относительными URI. Это зависит от того, что еще вы пытаетесь сделать с этого пути.
(обновлено, чтобы показать использование относительных Uri):
string fileName = @"c:\temp\myfile.bmp";
string relativeFile = @".\woohoo\temp.bmp";
string addressName = @"http://www.google.com/blahblah.html";
Uri uriFile = new Uri(fileName);
Uri uriRelative = new Uri(uriFile, relativeFile);
Uri uriAddress = new Uri(addressName);
Console.WriteLine(uriFile.ToString());
Console.WriteLine(uriRelative.ToString());
Console.WriteLine(uriAddress.ToString());
дает мне этот выход:
file:///c:/temp/myfile.bmp
file:///c:/temp/woohoo/temp.bmp
http://www.google.com/blahblah.html