c#合并和解析相对路径
对于 c# 程序来说,组合相对路径通常很有用。
例如:
当您在 visual studio 中构建程序时,可执行程序将在源代码目录下的 bin\debug 子目录中运行。
如果您想要操作与项目源代码位于同一目录中的文件,则需要从可执行程序的位置向上移动两级目录树。
system.io.path类
提供了几个用于操作文件路径的静态方法。combine方法将两个路径合并在一起。
不幸的是,该方法只是连接路径。
例如:
c:\data\test加上..\data.txt得到c:\data\test\..\data.txt,这可能不是您想要的。
路径的..部分移动到父目录,因此您可能想要的是此示例中的c:\data\data.txt。
幸运的是
path类的getfullpath方法可以解析包含相对元素(例如此元素)的路径并返回绝对路径。
以下代码显示程序如何组合您输入的两条路径。
txtresult.text = path.getfullpath( path.combine(txtpath1.text, txtpath2.text));
您可以使用类似的技术在程序中组合路径。
例如:
在 visual studio 中运行的程序可以使用以下代码来查找其源代码目录的路径。
console.writeline(path.getfullpath( path.combine(application.startuppath, "..\\..")));
请注意:
- getfullpath方法使用 \ 和 / 字符作为目录分隔符
- 因此以下代码也有效
console.writeline(path.getfullpath( path.combine(application.startuppath, "../..")));
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论