我有一个包含标签的脚本编辑器。每个标签页都有一个标题,其中包含文件的名称。我还有以下代码:
string fileName = tabControl.SelectedTab.Text;
string filePath = Path.GetFullPath(fileName);
上面的代码应该返回fileName
的绝对路径。但是,我已经发现它实际上返回了我的脚本编辑器的绝对路径.exe!
为什么会这样?我已对其进行了测试,是的,fileName
确实有正确的文件名,那么为什么Path.GetFullPath()
无效?
答案 0 :(得分:3)
您必须保留有关文件绝对路径的信息 - 无法根据文件名重新构建它。
为什么Path.GetFullPath(fileName)
不起作用:此方法根据当前工作目录将文件的相对路径转换为绝对路径。程序运行时(即使用文件打开对话框时)该位置可能会更改,默认情况下会在exe文件目录中启动(通常与文本文件的位置无关)。
答案 1 :(得分:1)