C# 编程中的路径

在读取或者写入文件时,需要知道文件的路径,这些文件路径怎么设置呢?


首先要分清绝对路径和相对路径
一般打开文件夹,显示的如下:C:\Program Files;
判断该文件存不存在的代码:Directory.Exists(@”C:\Program Files”);
其中@是转义字符,相当于“\”,所以也可以写成:Directory.Exists(“C:\Program Files”);

当然,上面是绝对路径,我们可以设置默认的打开路径为绝对路径:

OpenFileDialog ofg = new OpenFileDialog();
ofg.InitialDirectory = @"C:\Program Files";

也可以设置为相对路径,也就是可以变的路径:

OpenFileDialog ofg = new OpenFileDialog();
ofg.InitialDirectory = System.Windows.Forms.Application.StartupPath;//获取程序启动路径,也就是exe文所在的文件夹

相对路径还有一种方式:

OpenFileDialog ofg = new OpenFileDialog();
string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
ofg.InitialDirectory =baseDirectory.Substring(0,baseDirectory.Lenth -1 );
//ofg.InitialDirectory =baseDirectory.Remove(baseDirectory.Lenth -1,1 );

可以看到,如果用AppDomain.CurrentDomain.BaseDirectory会比Application.StartupPath多一条反斜杠,所以需要去掉,但是现实中看情况用,因为Application.StartupPath只能用于WinForm窗体中。


如果获取了文件之后,也可以操作路径;

if (ofg.ShowDialog() == DialogResult.OK)
            {
                string path = ofg.FileName.ToString();//获取文件的路径加名称
                MessageBox.Show("打开的文件路径是:" + path);
                string a = System.IO.Path.GetDirectoryName(ofg.FileName);//获取文件的路径
                string b = System.IO.Path.GetFileNameWithoutExtension(ofg.FileName) + ".txt";//获取文件的名称,可以自己加后缀
            }


C/C++中的路径

另外顺便提一下C++中的路径
也可以分为相对路径和绝对路径
相对路径用正斜杠“/” ./ 表示相对路径 ../ 表示当前路径的上一级路径 ../../表示当前路径上上一级路径,依此类推。 向下就 ./test。 ./test/xxxx 看情况而定。
绝对路径就跟C#一样,C:\Programs
当然,都要用反斜杠表示转义字符,所以绝对字符要写:”C:\Programs”
而相对字符不受转义字符限制: “C/Programs”
如果有一个当前路径C:\Programs\file.相对路径可以写为:
“./x.txt” 表示C:\Programs\file\x.txt.

猜你喜欢

转载自blog.csdn.net/qq_36196748/article/details/81981471
今日推荐