System.IO.Path为路径的操作封装了很多很有的东西,利用该类提供的方法能够快速处理路径操作的问题。下面详细了解一下。
1、属性
属性太复杂了,反映什么系统平台的信息,看不懂,等以后看得懂了再补充。
2、方法
ChangeExtension 更改路径字符串的扩展名。
Combine 合并两个路径字符串。
GetDirectoryName 返回指定路径字符串的目录信息。
GetExtension 返回指定的路径字符串的扩展名。
GetFileName 返回指定路径字符串的文件名和扩展名。
GetFileNameWithoutExtension 返回不具有扩展名的指定路径字符串的文件名。
GetFullPath 返回指定路径字符串的绝对路径。
GetInvalidFileNameChars 获取包含不允许在文件名中使用的字符的数组。
GetInvalidPathChars 获取包含不允许在路径名中使用的字符的数组。
GetPathRoot 获取指定路径的根目录信息。
GetRandomFileName 返回随机文件夹名或文件名。
GetTempFileName 创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径。
GetTempPath 返回当前系统的临时文件夹的路径。
HasExtension 确定路径是否包括文件扩展名。
IsPathRooted 获取一个值,该值指示指定的路径字符串是否包含根。
string str = "images/girl.jpg"; string extend = Path.GetExtension(str); Console.WriteLine(extend); //输出 .jpg string str1 = @"C:\App_Data"; string str2 = @"images\girl.jpg"; string newPath = Path.Combine(str1, str2); Console.WriteLine(newPath); //输出C:\App_Data\images\girl.jpg //会自动补充反斜杠\ string str = @"C:\girl.jpg"; string newPath = Path.ChangeExtension(str, "gif"); //更改扩展名,但不改变原值 Console.WriteLine(str + " 更改扩展名之后: " + newPath); //newPath为:C:\girl.gif string str = @"C:\App_data\upload\girl.jpg"; string dictory = Path.GetDirectoryName(str); Console.WriteLine(dictory); //输出 C:\App_data\upload string str = @"C:\App_data\upload\girl.jpg"; string fileName = Path.GetFileName(str); Console.WriteLine(fileName); //输出 girl.jpg string str = @"C:\App_data\upload\girl.jpg"; string fileNameWithOutEntension = Path.GetFileNameWithoutExtension(str); Console.WriteLine(fileNameWithOutEntension); //输出 girl string str = @"/upload/girl.jpg"; string fullPath = Path.GetFullPath(str); Console.WriteLine(fullPath); //输出 C:\upload\girl.jpg 这个东西也可以转换成绝对物理路径 char[] chArr = Path.GetInvalidFileNameChars(); foreach (char c in chArr) { Console.Write(c + " "); //输出很多不允许在文件名使用的字符 } char[] chArr = Path.GetInvalidPathChars(); foreach (char c in chArr) { Console.Write(c + " "); //输出很多不允许在路径中使用的字符 } string str = @"C:\App_data\upload\girl.jpg"; string rootInfo = Path.GetPathRoot(str); Console.Write(rootInfo); //输出 C:\ string str = Path.GetRandomFileName(); Console.Write(str); //返回随机文件夹名或文件名 string str = Path.GetTempFileName(); //创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径 Console.Write(str); //输出 C:\Users\Administrator\AppData\Local\Temp\temdw85.tmp string str = Path.GetTempPath(); Console.Write(str); //输出 C:\Users\Administrator\AppData\Local\Temp\ string str = @"C:\App_data\upload\girl.jpg"; bool hasExtension = Path.HasExtension(str); //确定路径是否含有扩展名,此处有.jpg返回true Console.Write(hasExtension);
string fileName = @"C:\mydir\123.ext";
Path.IsPathRooted(fileName); //true string UncPath = @"\\myPc\mydir\myfile";
Path.IsPathRooted(UncPath); //true
string relativePath = @"mydir\sudir\";
Path.IsPathRooted(relativePath); //false
Console.ReadKey();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现