C#中如何獲取當前目錄和上級目錄
C#獲取當前目錄和上級目錄
//使用AppDomain獲取當前目錄 string dir = AppDomain.CurrentDomain.BaseDirectory; string info = string.Format("當前目錄:{0}", dir); Console.WriteLine(info); //使用path獲取當前應(yīng)用程序集的執(zhí)行的上級目錄 string dir1 = Path.GetFullPath(".."); string info1 = string.Format("上級目錄:{0}", dir1); Console.WriteLine(info1); //使用path獲取當前應(yīng)用程序集的執(zhí)行的上上級級目錄 string dir2 = Path.GetFullPath(@"..//.."); string info2 = string.Format("上上級目錄:{0}", dir2); Console.WriteLine(info2);
結(jié)果如下:
C#獲取根目錄的方法集合
1、取得控制臺應(yīng)用程序的根目錄方法
- 方法1、Environment.CurrentDirectory 取得或設(shè)置當前工作目錄的完整限定路徑
- 方法2、AppDomain.CurrentDomain.BaseDirectory 獲取基目錄,它由程序集沖突解決程序用來探測程序集
2、取得Web應(yīng)用程序的根目錄方法
- 方法1、HttpRuntime.AppDomainAppPath.ToString();//獲取承載在當前應(yīng)用程序域中的應(yīng)用程序的應(yīng)用程序目錄的物理驅(qū)動器路徑。用于App_Data中獲取
- 方法2、Server.MapPath("") 或者Server.MapPath("~/");//返回與Web服務(wù)器上的指定的虛擬路徑相對的物理文件路徑
- 方法3、Request.ApplicationPath;//獲取服務(wù)器上ASP.NET應(yīng)用程序的虛擬應(yīng)用程序根目錄
3、取得WinForm應(yīng)用程序的根目錄方法
- 1、Environment.CurrentDirectory.ToString();//獲取或設(shè)置當前工作目錄的完全限定路徑
- 2、Application.StartupPath.ToString();//獲取啟動了應(yīng)用程序的可執(zhí)行文件的路徑,不包括可執(zhí)行文件的名稱
- 3、Directory.GetCurrentDirectory();//獲取應(yīng)用程序的當前工作目錄
- 4、AppDomain.CurrentDomain.BaseDirectory;//獲取基目錄,它由程序集沖突解決程序用來探測程序集
- 5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//獲取或設(shè)置包含該應(yīng)用程序的目錄的名稱
其中:以下兩個方法可以獲取執(zhí)行文件名稱
- 1、Process.GetCurrentProcess().MainModule.FileName;//可獲得當前執(zhí)行的exe的文件名。
- 2、Application.ExecutablePath;//獲取啟動了應(yīng)用程序的可執(zhí)行文件的路徑,包括可執(zhí)行文件的名稱
獲取.net的根目錄的方法
- 方法1:System.Web.HttpContext.Current.Request.PhysicalApplicationPath
- 方法2:System.Web.HttpContext.Current.Server.MapPath("./")
總注:Server.MapPath獲得的路徑都是服務(wù)器上的物理路徑,也就是常說的絕對路徑
1、Server.MapPath("/")
注:獲得應(yīng)用程序根目錄所在的位置,如 C:\Inetpub\wwwroot\。
2、Server.MapPath("./")
注:獲得所在頁面的當前目錄,等價于Server.MapPath("")。
3、Server.MapPath("../")
注:獲得所在頁面的上級目錄。
4、Server.MapPath("~/")
注:獲得當前應(yīng)用級程序的目錄,如果是根目錄,就是根目錄,如果是虛擬目錄,就是虛擬目錄所在的位置,如C:\Inetpub\wwwroot\Example\。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#基礎(chǔ)教程之IComparable用法,實現(xiàn)List<T>.sort()排序
這篇文章主要介紹了C#的一些基礎(chǔ)知識,主要是IComparable用法,實現(xiàn)List<T>.sort()排序,非常的實用,這里推薦給大家。2015-02-02使用checked語句防止數(shù)據(jù)溢出的解決方法
本篇文章是對用checked語句防止數(shù)據(jù)溢出的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05C# char[]與string byte[]與string之間的轉(zhuǎn)換詳解
在本篇文章里小編給大家分享的是關(guān)于C# char[]與string byte[]與string之間的轉(zhuǎn)換的知識點內(nèi)容,需要的朋友們參考下2019-11-11C#中的并發(fā)編程與.NET任務(wù)并行庫的使用示例和常見問題
在現(xiàn)代軟件開發(fā)中,.NET Framework通過引入任務(wù)并行庫(TPL)和并發(fā)集合類型,簡化了并發(fā)復(fù)雜性,提高程序的性能、可維護性和可擴展性,并發(fā)集合設(shè)計上允許多線程安全訪問,此外,TPL通過Task類簡化異步操作,正確使用這些工具可避免死鎖和競爭條件等常見問題2024-09-09DevExpress實現(xiàn)GridControl同步列頭checkbox與列中checkbox狀態(tài)
這篇文章主要介紹了DevExpress實現(xiàn)GridControl同步列頭checkbox與列中checkbox狀態(tài),需要的朋友可以參考下2014-08-08