C# Path

105 阅读1分钟

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