[英]Ways to get the relative path of a folder
我的项目中有一个名为“ Images”的文件夹。 我想要获取Image文件夹的路径,以便可以浏览并获取文件。
我正在为我的上述要求使用下面的代码,并且工作正常。
string basePath = AppDomain.CurrentDomain.BaseDirectory;
basePath = basePath.Replace("bin", "#");
string[] str = basePath.Split('#');
basePath = str[0];
string path = string.Format(@"{0}{1}", basePath, "Images");
string[] fileEntries = Directory.GetFiles(path);
foreach (string fileName in fileEntries)
listBox.Items.Add(fileName);
只是想知道这样做是否有任何优雅的方式? 获取文件夹路径的最佳方法是什么?
这是我通常使用的:
string appDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
请注意,这将返回包含当前执行代码的程序集的目录(我假设这是您的主要可执行文件)。
要获取结果路径的父目录,您还可以使用
Path.GetDirectoryName(appDirectory);
不过,我建议不要依赖于代码中的Visual Studio项目结构。 考虑将images文件夹作为内容添加到您的应用程序,以便它位于与可执行文件相同目录的子目录中。
如果您只是尝试引用与另一个目录具有固定关系的目录,那么您可以使用在命令行中使用的相同..语法?
您还应该使用Path类中的方法(例如Path.Combine),而不是所有的字符串操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.