//获取到bin目录的下层路径:binDebug
string aa = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
string cc = System.AppDomain.CurrentDomain.BaseDirectory;
//获取到bin目录:binDebug
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文件在bindebug目录下,可以使用向上查找目录的方式获取要读取的xml文件
FileInfo file = new FileInfo(fileName);
string fullName = file.FullName;
方法二:获取exe文件的路径进行截取,分两次进行,然后拼接文件名,形成全路径
string fullName = Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\"));
fullName = fullName.Substring(0, fullName.LastIndexOf("\")) + "\" + haarXmlPath;
另一种方式:
代码如下:
/// 获取应用程序根路径
/// </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);
}