繁体   English   中英

获取文件夹相对路径的方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM