1.获取文件路径问题
首先确认:要查找的文件与可执行文件是否在同一目录下
同一目录下:
string fileName="test.txt";
FileInfo fi=new FileInfo(fileName);
string path=fi.FullName;
不同目录分两种情况:
相对路径只能相对于应用程序的执行路径而言,如:
你的应用程序在C:/1/2/3/4/目录下,
你希望访问C:/1/2/x.csv文件,则指定../../x.csv,
注意在C#中,表示路径可以使用//和/表示
如果你的应用程序在C:/1/2/目录下,
你希望访问C:/1/2/3/4/x.csv文件,则指定
Application.StartupPath + "//3//4//x.csv";(Application.StartupPath + "//3//4//"+fileName;)
-------------------------------------------
c# 获取文件路径:
//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str5=Application.StartupPath;
//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str6=Application.ExecutablePath;
//可获得当前执行的exe的文件名。
string str1 =Process.GetCurrentProcess().MainModule.FileName;
// 获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。 备注 按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:/”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径(如“C:/mySubDirectory”)。
string str2=Environment.CurrentDirectory;
//获取应用程序的当前工作目录。
string str3=Directory.GetCurrentDirectory();
//获取基目录,它由程序集冲突解决程序用来探测程序集。
string str4=AppDomain.CurrentDomain.BaseDirectory;
//获取或设置包含该应用程序的目录的名称。
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase
------------------------------------
using System.IO;
Application.StartupPath——获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
Environment.CurrentDirectory——获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
Application.ExecutablePath——获取启动了应用程序的可执行文件的路径,包括可执行文件的名称
System.IO.Directory.GetCurrentDirectory() //获取应用程序的当前工作目录。
Directory.GetCurrentDirectory(); //程序文件自身的路径
参考:http://www.dezai.cn/Article_Show.asp?ArticleID=27854&ArticlePage=3