C#获取路径

            //获取到bin目录的下层路径:bin\Debug\

            string aa = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

            string cc = System.AppDomain.CurrentDomain.BaseDirectory;

            

            //获取到bin目录:bin\Debug

            string dd = System.Environment.CurrentDirectory;

            string ee = System.IO.Directory.GetCurrentDirectory();

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

 

            //获取程序.exe

            string bb = System.Windows.Forms.Application.ExecutablePath;

winform使用相对路径读取文件

目录结构如下图所示:

 

方法一:由于生成的exe文件在bin\debug目录下,可以使用向上查找目录的方式获取要读取的xml文件

代码如下:
string haarXmlPath = @"../../haarcascade_frontalface_alt_tree.xml";

 

FileInfo file = new FileInfo(fileName);

string  fullName = file.FullName;

 

方法二:获取exe文件的路径进行截取,分两次进行,然后拼接文件名,形成全路径

代码如下:
string haarXmlPath = @"haarcascade_frontalface_alt_tree.xml";

 

string fullName = Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\"));

fullName = fullName.Substring(0, fullName.LastIndexOf("\\")) + "\\" + haarXmlPath;

 另一种方式:

 代码如下:

/// <summary>
/// 获取应用程序根路径
/// </summary>
private static string GetApplicationPath()
{
        string path = Application.StartupPath;
        //string path=AppDomain.CurrentDomain.BaseDirectory; //另一种获取方式
        string folderName = String.Empty;
        while (folderName.ToLower() != "bin")
        {
            path = path.Substring(0, path.LastIndexOf("\\"));
            folderName = path.Substring(path.LastIndexOf("\\") + 1);
        }
        return path.Substring(0, path.LastIndexOf("\\") + 1);
}
posted @ 2017-02-14 16:01  寒夜美美  阅读(307)  评论(0编辑  收藏  举报