//获取应用程序的当前工作目录。
String path1 = System.IO.Directory.GetCurrentDirectory();
MessageBox.Show("获取应用程序的当前工作目录:" + path1);
//获取程序的基目录。
String path2 = System.AppDomain.CurrentDomain.BaseDirectory;
MessageBox.Show("获取程序的基目录:" + path2);
//获取和设置包括该应用程序的目录的名称。
String path3 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
MessageBox.Show("获取和设置包括该应用程序的目录的名称:" + path3);
//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
String path4 = System.Windows.Forms.Application.StartupPath;
MessageBox.Show("获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称:" + path4);
//获取启动了应用程序的可执行文件的路径及文件名
String path5 = System.Windows.Forms.Application.ExecutablePath;
MessageBox.Show("获取启动了应用程序的可执行文件的路径及文件名:" + path5);
文件路径分为绝对路径和相对路径。完整描述文件位置的路径就是绝对路径,相对于目标的位置就是相对路径。
绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
代码:
***注:利用打开文件对话框打开文件并获取绝对路径***
private void analysis_Click(object sender, EventArgs e)
{
//读取初始数据协方差矩阵
//string data = @"E:\cov_data.xlsx";
OpenFileDialog file = new OpenFileDialog();
file.Filter = "文本文件(*.xlsx)|*.xlsx|所有文件(*.*)|*.*";
file.Title = "选择影像协方差数据";
if (file.ShowDialog() == DialogResult.OK)
{
string data = file.FileName;
zhuchengfen_analysis.Zhuchengfen_analysis st = new zhuchengfen_analysis.Zhuchengfen_analysis();
st.zhuchengfen_analysis(data);
}
}
system("cmd /c 绝对路径");
比如你要访问c:\dos\tc\123.bat
就是system("cmd /c c:\\dos\\tc\\123.bat");
windows下文件路径是用\分隔的,比如C:\Windows\System32\就是一个标准的windows路径。
在C语言中,文件路径会被写作字符串形式,但是由于C语言的字符串规则中,\字符是转义字符的引导,所以直接写
"C:\Windows\System32\"
会出错。而字符'\\'才是表示\。
于是在写路径的时候,就必须是
"C:\\Windows\\System32\\"
即,写成单独的\的,是windows的标准形式,而写成\\的,才是C语言中用到的形式。
fileName1是你文件路径吧,如果是web程序,那应该用Server.MapPath()
如果你是winform程序,那应该用Application.StartupPath
如果不能放在应用程序目录里的话,建议做成配置的,放在配置文件,把这个路径“D:ProgramData\MySQL\MySQL Server 5.5\uploadFile\基于控制关系的相关代码块分析方法.doc”保存,然后读取配置文件就可以了
文件操作涉及一个非常重要的概念——文件路径。文件路径是指用来标识系统中文件存放位置的字符串。如:D:\\test.txt,表示在D盘根目录下存入test.txt文件。
文件路径分为绝对路径和相对路径。完整描述文件位置的路径就是绝对路径,相对于目标的位置就是相对路径。
绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
假如当前路径为c:\program files
要调用上述命令,则需要输入
..\windows\system32\cmd.exe
其中,..为父目录。
当前路径如果为c:\program files\common files
则需要输入
..\..\windows\system32\cmd.exe
在C#中,斜杠“\”是转义字符,表示路径是采用“\\”代替“\”,避免把这个字符解释为转义字符。如
“c:\\microfoft\\readme.txt”,也可以用“@”代替,在路径前加“@”符号,“\”就不会再被解释为转义符。如:@"c:\microfoft\readme.txt”。
代码:
***注:利用打开文件对话框打开文件并获取绝对路径***
private void analysis_Click(object sender,
EventArgs e)
{
//读取初始数据协方差矩阵
//string data = @"E:\cov_data.xlsx";
OpenFileDialog file = new OpenFileDialog();
file.Filter = "文本文件(*.xlsx)|*.xlsx|所有文件(*.*)|*.*";
file.Title = "选择影像协方差数据";
if (file.ShowDialog() == DialogResult.OK)
{
string data = file.FileName;
zhuchengfen_analysis.Zhuchengfen_analysis st = new
zhuchengfen_analysis.Zhuchengfen_analysis();
st.zhuchengfen_analysis(data);
}
}