英文翻译:
顾名思义就是操作路径的
命名空间:
using System.IO;
该命名空间常见的有文件流…等等 都是一些操作文件有关的类和方法
该文章把里面所有的方法都解释并且运行了一遍…
F12转到定义 发现是一个静态类
什么是静态类?
静态类是可以不用new(Path p =new Path ) 来创建对象的 可以直接通过类名去调用(Path.GetFileName())
这就是静态类…静态类里面包含的都必须是静态方法
接下来就是介绍里面的静态方法了
Path类方法:
因为是操作路径的类,路径都是字符串,所以返回值也基本都是字符串类型(string)的
获取路径文件名:
string str= Path.GetFileName(@"C:\生产队的驴.txt"); Console.WriteLine(str);
运行结果:
生产队的驴.txt
该方法就是提取路径中的 文件名 包含扩展名
绝对路径:
也就是 完整的路径
string path =Path.GetFullPath(@"C:\temp\生产队的驴.txt"); Console.WriteLine(path);
运行结果:
C:\temp\生产队的驴.txt
获取文件名字(不包含扩展名):
string str= Path.GetFileNameWithoutExtension(@"C:\生产队的驴.txt"); Console.WriteLine(str);
运行结果:
生产队的驴
获取文件的扩展名:
string str= Path.GetExtension(@"C:\生产队的驴.txt"); Console.WriteLine(str);
运行结果:
.txt
获取文件路径:
string str= Path.GetDirectoryName(@"C:\temp\生产队的驴.txt"); Console.WriteLine(str);
运行结果:
C:\temp
该方法包含文件夹名 但不包含带扩展名的文件名
判断文件夹或文件:
bool b = Path.HasExtension(@"C:\temp\"); Console.WriteLine(b);
该方法是判断路径中 是否是一个文件夹 如果是文件夹返回flase 文件(txt,mp4,mp3…)返回true
运行结果:
flse
不是文件夹的情况
bool b = Path.HasExtension(@"C:\temp\生产队的驴.txt"); Console.WriteLine(b);
运行结果:
true
更改路径扩展名:
string str = Path.ChangeExtension(@"C:\temp\生产队的驴.txt",".jpg"); Console.WriteLine(str);
需要注意的是 该方法并不会改变实体文件的扩展名 只是该变了当前路径的扩展名
运行结果:
只是该改变了字符串…实体文件不发生变化
合并路径:
string str = Path.Combine(@"C:\temp\.生产队的驴.txt","测试"); Console.WriteLine(str);
运行结果:
C:\temp.生产队的驴.txt\测试
这个方法类似于 字符串的" + " 也就是两个字符串相连接 同等于
string s = @"\测试"; string str = @"C:\temp\.生产队 Console.WriteLine(str + s);
运行结果:
C:\temp.生产队的驴.txt\测试
都是一样的大同小异 …
判断路径是否相同:
bool path =Path.ReferenceEquals(@"C:\temp\生产队的驴.txt", @"C:\temp\生产队的驴.txt");
返回的是一个布尔值 如果相同True 负责就是 False
运行结果:
True
是否为根目录:
bool path =Path.IsPathRooted(@"C:\temp\生产队的驴.txt"); Console.WriteLine(path);
运行结果:
True
可以理解为 是否合法路径
不正确为:
bool path =Path.IsPathRooted(@"temp\生产队的驴.txt"); Console.WriteLine(path);
运行结果:
False
当前用户临时文件路径:
string path =Path.GetTempPath(); Console.WriteLine(path);
运行结果:
C:\Users\Acer\AppData\Local\Temp\
该路径存放的是其他应用程序 存放的文件 不包含重要的数据 ,可以清除… 软件和系统的缓存,临时文件都存放在这里
零字节的临时文件:
string path =Path.GetTempFileName(); Console.WriteLine(path);
运行结果:
C:\Users\Acer\AppData\Local\Temp\tmp1F56.tmp
也是一个临时文件…不知道有什么用…
随机生成文件名和扩展名:
string path =Path.GetRandomFileName(); Console.WriteLine(path);
运行结果:
q1bhhhpm.f5s
这个可以用来文件的批量保存…比如 图片
获取目录当前磁盘:
string path =Path.GetPathRoot(@"D:\temp\生产队的驴.txt"); Console.WriteLine(path);
运行结果:
D:\
路径非法字符集:
也就是文件名不能包含的 字符比如 (< > ")这些等等
char[] path =Path.GetInvalidPathChars(); foreach(char i in path) Console.Write(i);
就是非法的字符都字在 这个数组里面
但不知道为什么是 乱码的…只有几个显示出来…但感觉这个方法 没什么用
一共35个
文件非法字符集:
char[] path =Path.GetInvalidFileNameChars(); foreach(char i in path) Console.WriteLine(i);
同样也是乱码的 感觉都也不上 就没这么研究
一共40个
纯手打,点个赞呗~