C# 操作路径(Path)类方法的使用与解析运行实例

简介: C# 操作路径(Path)类方法的使用与解析运行实例

英文翻译:

顾名思义就是操作路径的

命名空间:

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个


纯手打,点个赞呗~

相关文章
|
9天前
|
安全 Java
并发编程之常见线程安全类以及一些示例的详细解析
并发编程之常见线程安全类以及一些示例的详细解析
13 0
|
2月前
|
存储 C++ 容器
C++入门指南:string类文档详细解析(非常经典,建议收藏)
C++入门指南:string类文档详细解析(非常经典,建议收藏)
42 0
|
2月前
|
XML 存储 Java
Spring重要类解析
Spring重要类解析
21 0
|
2月前
|
算法 Linux 开发者
CMake深入解析:打造高效动态链接库路径设置
CMake深入解析:打造高效动态链接库路径设置
49 0
|
8天前
|
JavaScript IDE 编译器
TypeScript中模块路径解析与配置:深入剖析与最佳实践
【4月更文挑战第23天】本文深入探讨了TypeScript中模块路径解析的原理与配置优化,包括相对路径、Node.js模块解析和路径别名。通过配置`baseUrl`、`paths`、`rootDirs`以及避免裸模块名,可以提升开发效率和代码质量。建议使用路径别名增强代码可读性,保持路径结构一致性,并利用IDE插件辅助开发。正确配置能有效降低维护成本,构建高效可维护的代码库。
|
11天前
|
设计模式 IDE 测试技术
提升 C#编程效率的技巧与方法
【4月更文挑战第20天】提升C#编程效率的关键技巧包括:选择合适的IDE(如Visual Studio)、掌握基础语法、规划良好代码结构、使用代码生成工具、复用代码、利用库和框架、定期重构、应用设计模式、避免过度设计、进行代码审查、自动化测试、学习新技术、养成良好编程习惯、定期备份代码及参与技术社区。通过这些方法,开发者能提高代码质量和开发效率。
|
12天前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
18 1
|
12天前
|
数据安全/隐私保护 C++
C++ 类方法解析:内外定义、参数、访问控制与静态方法详解
C++ 中的类方法(成员函数)分为类内定义和类外定义,用于操作类数据。类内定义直接在类中声明和定义,而类外定义则先在类中声明,再外部定义。方法可以有参数,访问权限可通过 public、private 和 protected 控制。静态方法与类关联,不依赖对象实例,直接用类名调用。了解这些概念有助于面向对象编程。
14 0
|
18天前
|
存储 人工智能 编译器
存算一体新兴力量:解析我国企业在存储创新、技术路径上的多元化探索
存算一体新兴力量:解析我国企业在存储创新、技术路径上的多元化探索
|
19天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
20 0

推荐镜像

更多