.net core 填坑記之二目錄問題(獲取當前目錄、創建目錄) ...
1、獲取應用程式運行當前目錄Directory.GetCurrentDirectory()。
System.IO命名空間中存在Directory類,提供了獲取應用程式運行當前目錄的靜態方法GetCurrentDirectory,
但根據.net core的設計,此方法不是真正的獲取應用程式的當前方法,而是執行dotnet命令所在目錄,
代碼如下:
執行結果:
因此要獲取應用程式運行當前目錄,只能通過變通的方案解決。
如:1、在應用程式的目錄執行dotnet命令,
2、或者通過其他方案。
如下代碼是一種可以獲取應用程式的當前目錄:
dynamic type = (new Program()).GetType();
string currentDirectory = Path.GetDirectoryName(type.Assembly.Location);
Console.WriteLine(currentDirectory);
運行結果如下:
2、創建文件夾Directory.CreateDirectory(path)。
使用Directory.CreateDirectory(path)方法來創建文件夾時需要註意,在windos平臺中,path結尾可以包含“\”字元,
但在linux中則會出問題,會將‘\’字元作為文件夾名稱的一部分。
因此建議使用此方法時一定要嚴格控制路徑的規範,不能隨意添加“\”結尾。
本文發表於2017-06-18,歡迎各位大神參與討論