我有一个位于环境路径中的控制台应用程序,可以从任何地方运行。如果用户输入
Program filename
从文件所在的目录
File.Exists(args[0])
会告诉我文件存在。 但是当传递 args[0] 时它只是文件名,所以我假设 C# 前置:
Environment.CurrentDirectory
因为应用程序可以从任何地方运行,并且命令行可以有大量可能的输入,从相对路径到绝对路径,我想知道获取文件所在的正确目录的最安全方法是什么。
下面的方法似乎工作得很好,但我想知道我是否遗漏了什么,这是更好的方法吗。
string dir = Path.GetDirectoryName(args[0]);
if (String.IsNullOrEmpty(dir))
dir = Environment.CurrentDirectory;
非常感谢。
最佳答案
使用 Path.GetFullPath(args[0])
- 这将为您将文件名解析为全名。
关于C# 控制台应用程序,获取 args 文件正确路径的最安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43712773/