一、獲取當前文件夾路徑
在C#中,獲取當前執行文件的路徑的方法有很多種,其中最簡便的方法就是使用AppDomain.CurrentDomain.BaseDirectory
屬性。
string currentDirectoryPath = AppDomain.CurrentDomain.BaseDirectory; Console.WriteLine(currentDirectoryPath);
此方法會返回當前執行文件的路徑,該路徑不包含文件名。
而如果需要獲取文件名,可以採用以下方法:
string assemblyFolderPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase); string assemblyFilePath = Path.Combine(assemblyFolderPath, Assembly.GetExecutingAssembly().GetName().Name + ".exe"); Console.WriteLine(assemblyFilePath);
該方法將返回當前執行文件的路徑,包含文件名。
二、獲取上級文件夾路徑
獲取上級文件夾路徑的方法同樣有很多種,以下是其中的一種方法:
string parentFolderPath = Directory.GetParent(currentDirectoryPath).ToString(); Console.WriteLine(parentFolderPath);
此方法將返回當前文件夾的上級文件夾路徑,即在當前文件夾路徑後去掉最右側的文件夾名稱。
三、獲取特定路徑下的文件
如果需要在特定路徑下查找某個文件或者遍歷該路徑下的所有文件,可以採用以下方法:
string folderPath = @"C:\Temp"; string[] filePaths = Directory.GetFiles(folderPath); foreach (string filePath in filePaths) { Console.WriteLine(filePath); }
該方法可以找出特定路徑下所有的文件路徑,並在控制台輸出各自的路徑。
四、處理文件路徑字元串
在進行任何文件操作時,經常需要處理路徑字元串,以下是一些常用的方法:
1. 取得文件名(包含擴展名)
string filePath = @"C:\Temp\example.docx"; string fileName = Path.GetFileName(filePath); Console.WriteLine(fileName);
該方法會輸出example.docx
。
2. 取得文件名(不包含擴展名)
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(filePath); Console.WriteLine(fileNameWithoutExtension);
該方法會輸出example
。
3. 取得文件擴展名
string fileExtension = Path.GetExtension(filePath); Console.WriteLine(fileExtension);
該方法會輸出.docx
。
五、使用Path.Combine()方法
為了防止手動拼接文件路徑字元串出現錯誤,可以使用Path.Combine()
方法拼接路徑。
string folder = @"C:\Temp"; string file = "example.docx"; string filePath = Path.Combine(folder, file); Console.WriteLine(filePath);
該方法將會輸出C:\Temp\example.docx
。
六、使用環境變數獲取文件路徑
有時候需要獲取一些系統相關的文件路徑,比如%TEMP%環境變數中存儲的臨時文件夾路徑,可以採用以下方法獲取環境變數並獲取對應的文件路徑:
string tempFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); Console.WriteLine(tempFolderPath);
該方法將返回當前用戶的本地應用數據文件夾路徑。
七、獲取特定文件夾下的所有子文件夾
有時候需要獲取一個文件夾下的所有子文件夾,可以使用以下方法:
string folderPath = @"C:\Temp"; string[] subDirectories = Directory.GetDirectories(folderPath, "*", SearchOption.AllDirectories); foreach (string subDirectory in subDirectories) { Console.WriteLine(subDirectory); }
該方法可以遞歸地獲取C:\Temp文件夾下的所有子文件夾,並在控制台輸出各自的路徑。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249263.html