C# 获取项目下文件夹路径

在项目中新建了文件夹 winform 怎么获得这个文件夹的路径
2024-11-05 02:07:50
推荐回答(3个)
回答1:

  你没有理解项目和程序的区别。

  实际运行的程序是没有所谓项目的概念的(不可能把源代码也复制过去吧?!),也就是说,你的应用程序运行时的目录下一开始是不会自动地产生ClientPhoto这个文件夹的(除非你在项目里将这个文件夹中的文件设置为“复制到输出目录”。)

  所以你要做的,第一件事就是先获取应用程序的路径,然后判断这个路径下的目录存在不存在,如果不存在,要首先创建一个。

  我们知道“ClientPhoto”其实只是一个相对路径而已,要获得绝对路径,首先要知道应用程序当前的绝对路径:只需要检索System.Windows.Forms.Application.StartupPath这个属性即可。

string path = System.Windows.Forms.Application.StartupPath;

  然后将应用程序当前路径path和字符串“ClientPhoto”组合成为一个完整的文件夹绝对路径folder(这时候就是绝对路径了,但是,还没完!)。

string folder = System.IO.Path.Combine(path, "ClientPhoto");

  接着判断 folder 指定的文件夹是否存在。

bool folderExists = System.IO.Directory.Exists(folder);

  如果文件夹不存在,则创建它。如果创建不了,会引发异常,请自行捕捉这个异常。

if(!folderExists)
{
    System.IO.Directory.CreateDirectory(folder);
}

  最后才返回路径 folder。

完整代码:

private string GetFolderPath()
{
    string folder = Path.Combine(Application.StartupPath, "ClientPhoto");
    if(!Directory.Exists(folder))
    {
        Directory.CreateDirectory(folder);
    }
    return folder;
}

回答2:

如果是资源性的文件 ,一般来说不需要在项目中创建目录,你把这个clientphoto目录移动到bin下的debug(调试时)下去,然后在程序中就可以这样得到

string path=System.Windows.Forms.Application.StartupPath+@"\ClientPhoto";

回答3:

Application.StartupPath