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); } } }
但是在用上述代码时把我的绝对路径当作相对路径使用报异常
请问应当怎么做?? 展开
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); } } }
但是在用上述代码时把我的绝对路径当作相对路径使用报异常
请问应当怎么做?? 展开
5个回答
展开全部
//获取应用程序的当前工作目录。
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);
}
}
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
如果你是winform程序,那应该用Application.StartupPath
更多追问追答
追问
对,fileName1是读取文件路径,fileName2是写的文件路径,我想做的就是把fileName1读到fileName2里面,这两个路径都是绝对路径,可是操作的时候会出现上面的异常,而Application.StartupPath是获得文件启动路径嘛 这没关系吧?
追答
对的,是获得启动路径,一般你的目录都应该是在安装目录里面吧。获得启动路径,再进行文件路径的拼接就可以了,即使文件夹换了地方也可以用。
如果你想单独存,那你一定要有权限,在XP里面没问题,win7,win8想写入就很难了。所以我建议你还是放到安装目录里面,要不你没写入权限。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果不能放在应用程序目录里的话,建议做成配置的,放在配置文件,把这个路径“D:ProgramData\MySQL\MySQL Server 5.5\uploadFile\基于控制关系的相关代码块分析方法.doc”保存,然后读取配置文件就可以了
追问
我就不想放应用程序目录里面,单独来存一个文件。这怎么解决?
追答
如果你不想放在目录,那就做成可以配置修改的,放在配置文件里
asp.net的话放在web.config,winform的话,放在app.config
然后把文件的全路径放在你添加的节点里。
这个只是针对个别文件,如果数量多,建议存在数据库,
说白了就是一个简单的文件管理程序,记录文件的全路径和文件的名称
或者你可以写死在程序里,但是这样不建议,因为你如果文件移动位置的话,就得改程序,放在配置文件的话,就只要修改配置文件相应的节点就行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件操作涉及一个非常重要的概念——文件路径。文件路径是指用来标识系统中文件存放位置的字符串。如: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);
}
}
文件路径分为绝对路径和相对路径。完整描述文件位置的路径就是绝对路径,相对于目标的位置就是相对路径。
绝对路径:是从盘符开始的路径,形如
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询