2016-08-04 5 views
1

У меня есть файл в папке где-то на моем компьютере, и у меня есть второй файл, в котором замечен относительный путь к первому файлу.Получить абсолютный путь от относительного пути C#

Теперь я хочу выяснить абсолютный путь.

GetFullPath не работает, потому что второй файл не находится в каталоге, в котором запускается программа.

Есть ли возможность сказать, из какой директории должна начинаться функция GetFullPath, чтобы получить правильный абсолютный путь?

+0

Можете ли вы добавить конкретный пример? –

+1

Вы пробоились: http://stackoverflow.com/questions/4796254/relative-path-to-absolute-path-in-c?rq=1 – Versatile

+0

или это: http://stackoverflow.com/questions/ 1399008/как к обращенным-а-относительного пути к ан-абсолютному-пути-в-Windows-приложения? noredirect = 1 & LQ = 1 – Versatile

ответ

2

Вы можете использовать статические методы Path вычислить результирующую путь:

string fullPathToSecondFile = "c:\\test\\subtestsecond\\secondfile.txt"; 
string relativePath = "..\\subtestfirst\\firstfile.txt"; 

string fullPathToFirstFile = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(fullSecondPath), relativePath)); 

Это приводит к


Что происходит, что вы объедините относительный путь к абсолютному одному. Это приводит к c:\test\subtestsecond\..\subtestfirst\firstfile.txt.
На втором этапе Path.GetFullPath() нормализует строку к результату, показанному выше.

Смежные вопросы