C# Path
在文件上传相关功能中,经常需要对文件的路径、文件名、扩展名等进行操作,在 C# 中可以通过 Path 类中一些方法实现。Path 位于 System.IO 名称空间中。使用 Path 类,可以很容易地计算出根路径、文件的目录名、扩展名或创建随机文件名。
Path.GetPathRoot
获取指定路径的根路径
var path = @"C:\Users\xxxx\Desktop\data";
Console.WriteLine(Path.GetPathRoot(path)); // output:C:\
Path.GetDirectoryName
获取文件所在目录信息
var path = @"C:\Users\xxxx\Desktop\data";
Console.WriteLine(Path.GetDirectoryName(path)); // output:C:\Users\xxxx\Desktop
var path2 = @"C:\Users\xxxx\Desktop\data\123.txt;
Console.WriteLine(Path.GetDirectoryName(path2)); // output:C:\Users\xxxx\Desktop\data
Path.GetFullPath
获取指定路径绝对路径
var path = @"./";
Console.WriteLine(Path.GetFullPath(path));
// output:C:\Users\xxxx\Desktop\NetCore\NetCore\bin\Debug\net6.0\
Path.FileName and Path.Extension
获取文件名以及扩展名
var path = @"./data.png";
Console.WriteLine(Path.GetFileName(path)); // output:data.png
Console.WriteLine(Path.GetExtension(path)); // output:.png
Console.WriteLine(Path.GetFileNameWithoutExtension(path)); // output:data
Path.Combine
这个方法最常用,当需要拼接一个目录和一个文件夹为一个目录时,最好不要直接手动拼接,而是使用 Path.Combine 组合成一个路径。
var folderName = "fonts";
var path = AppDomain.CurrentDomain.BaseDirectory;
Console.WriteLine(Path.Combine(path, folderName));
// output:C:\Users\xxxx\Desktop\NetCore\NetCore\bin\Debug\net6.0\fonts