C#获取相对路径的方法

本文详细介绍了C#中获取相对路径的八种方法,包括获取当前目录、应用程序路径等,并对比了相对路径和绝对路径的不同写法。

C#获取相对路径的八种方法
C#获取相对路径1.
    获取和设置当前目录的完全限定路径。
    string str = System.Environment.CurrentDirectory; Result: C:xxxxxx
   
C#获取相对路径2.
    获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
    string str = System. Windows .Forms.Application.StartupPath; Result: C:xxxxxx 


C#获取相对路径3.
    获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名。
    string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; Result: C:xxxxxxxxx.exe  


C#获取相对路径4.
    获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
    string str = System.AppDomain.CurrentDomain.BaseDirectory; Result: C:xxxxxx
   
C#获取相对路径5.
    获取应用程序的当前工作目录。
    string str = System.IO.Directory.GetCurrentDirectory(); Result: C:xxxxxx 


C#获取相对路径6.
    获取和设置包含该应用程序的目录的名称。
    string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase; Result: C:xxxxxx
  
C#获取相对路径7.
    获取当前进程的完整路径,包含文件名。
    string str = this.GetType().Assembly.Location; Result: C:xxxxxxxxx.exe


C#获取相对路径8.
    获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
    string str = System. Windows .Forms.Application.ExecutablePath; Result: C:xxxxxxxxx.exe
    此外,更多见的通过XML文件配置具体的路径来达到合理的规划配置文件的具体存放位置,如WEB中的配置文件中的路径
    应用示例
    string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"moduleM3ExampleMuColor.txt";
    StreamReader smRead = new StreamReader(path, System.Text.Encoding.Default); //设置路径
以上c#获取相对路径的八种方法

额外的:

总结相对路径和绝对路径的写法
在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。
只要在字符串前加上@即可直接使用“\”。所以上面的路径在C#中应该表示为“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。

相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。

1.绝对路径

绝对路径是指文件在硬盘上真正存在的路径。那么如果要使用绝对路径指定网页的背景图片就应该使用 以下语句:
<body backround="E:\book\网页布局\代码\第2章\bg.jpg" > 

2.相对路径
所谓相对路径,就是相对于自己的目标文件位置。
在同一个目录:<body background="bg.jpg">
在其所在目录的“img”子目录里:<body background="img/bg.jpg"> (由于“img”目录是“第2章”目录下的子目录,因此在“img”前不用再加上“/”字符。)
在其所在目录的上级目录里:<body background="../bg.jpg"> (在相对路径里常使用“../”来表示上一级目录。如果有多个上一级目录,可以使用多个“../”.)
在其所在目录的上级目录里的“img”子目录里:<body background="../img/bg.jpg"> 

3.相对虚拟目录
<body background="/img/bg.jpg"> 
注意在“img”前有一个“/”字符。这个“/”代表的是虚拟目录的根目录. 
假设把“E:\book\网页布局\代码”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\代码\img \bg.jpg”;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值