天天看點

C#常見的檔案路徑Api

我們經常有遇到要處理檔案路徑的需求,那麼一般我們常見的有幾種:

程式下面的檔案

臨時目錄下的檔案

首先我們建立了執行個體解決方案:

C#常見的檔案路徑Api

其中調用鍊是:Main.Shell->FooALibrary->,首先我們将FooAFolder.txt和FooA.txt的檔案屬性設定生成操作為内容,複制到輸出目錄為始終複制

那麼我們有什麼方法擷取這兩個檔案的路徑,我們可能會用到以下方法:

主要用到的兩種方式就是:

擷取應用程式域的基目錄:<code>AppDomain.CurrentDomain.BaseDirectory</code>

擷取目前工作目錄的完全限定路徑:<code>System.Environment.CurrentDirectory</code>

但是實際上以上兩種方式不是最準和最穩的,還有一種最穩的方式:

擷取目前執行程式集的方式:<code>Assembly.GetExecutingAssembly().Location</code>(推薦方式)

我們還能再拓展一下,我們在<code>FooA</code>和<code>FooB</code>添加如下代碼:

輸出:

我們從上面可以知道以下兩種的用法:

擷取入口程式集路徑:<code>Assembly.GetEntryAssembly().Location</code>,<code>FooALibrary</code>和<code>FooBLibrary</code>的入口都是<code>Main.Shell</code>

擷取調用該程式集的程式集路徑:<code>Assembly.GetCallingAssembly().Location</code>,當 <code>Main.Shell</code>調<code>FooBLibrary</code>,輸出<code>Main.Shell</code>,<code>FooALibrary</code>調<code>FooBLibrary</code>,輸出<code>FooALibrary</code>

是以,用程式集Assembly的一些路徑Api是非常靈活且準确的

我們也經常會遇到需要擷取臨時目錄路徑的方式來放置一些程式臨時檔案,可以用下面方式擷取:

c#