一、获取当前文件夹路径
在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/n/249263.html