Winform 获取项目下文件夹路径的误区

在项目中新建了文件夹“Image”, winform 怎么获得这个文件夹的路径?

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

      所以要理解项目和程序的区别。

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

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

 

1

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

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

1

string folder = System.IO.Path.Combine(path, “Image”);

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

1

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

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

1

2

3

4

if(!folderExists)

{

 try

  { 

  System.IO.Directory.CreateDirectory(folder);

  }catch(Exception ex)

 {

   Console.WriteLine("ex.Message="+ex.Message);

 }

}

  最后才返回路径 folder。

完整代码:

1

2

3

4

5

6

7

8

9

private string GetFolderPath()

{

    string folder = Path.Combine(Application.StartupPath, “Image”);

    if(!Directory.Exists(folder))

    {

        Directory.CreateDirectory(folder);

    }

    return folder;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值