【发布时间】:2016-08-04 16:46:44
【问题描述】:
我在计算机某处的文件夹中有一个文件,我还有第二个文件,其中注意到第一个文件的相对路径。
现在我想弄清楚绝对路径。
GetFullPath 不起作用,因为第二个文件不在程序运行的目录中。
有没有机会说“GetFullPath”函数应该从哪个目录开始,以获得正确的绝对路径?
【问题讨论】:
-
你能举个具体的例子吗?
标签: c#
我在计算机某处的文件夹中有一个文件,我还有第二个文件,其中注意到第一个文件的相对路径。
现在我想弄清楚绝对路径。
GetFullPath 不起作用,因为第二个文件不在程序运行的目录中。
有没有机会说“GetFullPath”函数应该从哪个目录开始,以获得正确的绝对路径?
【问题讨论】:
标签: c#
可以使用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\subtestfirst\firstfile.txt
发生的情况是您将相对路径与绝对路径组合在一起。这导致c:\test\subtestsecond\..\subtestfirst\firstfile.txt。
在第二步中Path.GetFullPath() 将字符串归一化为上面显示的结果。
【讨论】: