C#中怎么用绝对路径?

我现在要用D:ProgramData\MySQL\MySQLServer5.5\uploadFile\基于控制关系的相关代码块分析方法.doc这个路径stringfile... 我现在要用D:ProgramData\MySQL\MySQL Server 5.5\uploadFile\基于控制关系的相关代码块分析方法.doc这个路径
string fileName1 = readFile; string fileName2 = writeFile; using (FileStream input = File.OpenRead(fileName1)) { byte[] buffer = new byte[BufferSize]; int bytesRead; using (FileStream output = File.OpenWrite(fileName2)) { while ((bytesRead = input.Read(buffer, 0, BufferSize)) > 0) { output.Write(buffer, 0, bytesRead); } } }
但是在用上述代码时把我的绝对路径当作相对路径使用报异常

请问应当怎么做??
展开
 我来答
xiangjuan314
2016-01-19 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2786万
展开全部
//获取应用程序的当前工作目录。
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);
}
}
地表最帅175
高粉答主

2018-04-16 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:152
采纳率:0%
帮助的人:4.1万
展开全部

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语言中用到的形式。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hey112233
2014-05-09 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:99.5万
展开全部
fileName1是你文件路径吧,如果是web程序,那应该用Server.MapPath()
如果你是winform程序,那应该用Application.StartupPath
更多追问追答
追问
对,fileName1是读取文件路径,fileName2是写的文件路径,我想做的就是把fileName1读到fileName2里面,这两个路径都是绝对路径,可是操作的时候会出现上面的异常,而Application.StartupPath是获得文件启动路径嘛  这没关系吧?
追答
对的,是获得启动路径,一般你的目录都应该是在安装目录里面吧。获得启动路径,再进行文件路径的拼接就可以了,即使文件夹换了地方也可以用。
如果你想单独存,那你一定要有权限,在XP里面没问题,win7,win8想写入就很难了。所以我建议你还是放到安装目录里面,要不你没写入权限。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友32ff22c
2014-05-09
知道答主
回答量:1
采纳率:0%
帮助的人:1361
展开全部
如果不能放在应用程序目录里的话,建议做成配置的,放在配置文件,把这个路径“D:ProgramData\MySQL\MySQL Server 5.5\uploadFile\基于控制关系的相关代码块分析方法.doc”保存,然后读取配置文件就可以了
追问
我就不想放应用程序目录里面,单独来存一个文件。这怎么解决?
追答
如果你不想放在目录,那就做成可以配置修改的,放在配置文件里

asp.net的话放在web.config,winform的话,放在app.config

然后把文件的全路径放在你添加的节点里。

这个只是针对个别文件,如果数量多,建议存在数据库,

说白了就是一个简单的文件管理程序,记录文件的全路径和文件的名称

或者你可以写死在程序里,但是这样不建议,因为你如果文件移动位置的话,就得改程序,放在配置文件的话,就只要修改配置文件相应的节点就行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liushiwen_2009
2015-10-17 · TA获得超过156个赞
知道答主
回答量:99
采纳率:100%
帮助的人:19.7万
展开全部
文件操作涉及一个非常重要的概念——文件路径。文件路径是指用来标识系统中文件存放位置的字符串。如: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);

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式