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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 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个


纯手打,点个赞呗~

相关文章
|
6天前
|
数据可视化 数据挖掘 BI
团队管理者必读:高效看板类协同软件的功能解析
在现代职场中,团队协作的效率直接影响项目成败。看板类协同软件通过可视化界面,帮助团队清晰规划任务、追踪进度,提高协作效率。本文介绍看板类软件的优势,并推荐五款优质工具:板栗看板、Trello、Monday.com、ClickUp 和 Asana,助力团队实现高效管理。
27 2
|
2月前
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
|
2月前
|
安全 编译器 程序员
【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
56 2
|
2天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
17 5
|
1月前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
109 57
|
19天前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
29 5
|
27天前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
2月前
|
存储 Java API
详细解析HashMap、TreeMap、LinkedHashMap等实现类,帮助您更好地理解和应用Java Map。
【10月更文挑战第19天】深入剖析Java Map:不仅是高效存储键值对的数据结构,更是展现设计艺术的典范。本文从基本概念、设计艺术和使用技巧三个方面,详细解析HashMap、TreeMap、LinkedHashMap等实现类,帮助您更好地理解和应用Java Map。
68 3
|
2月前
|
XML 数据格式
HTML 实例解析
本文介绍了HTML中常见元素的使用方法,包括`&lt;p&gt;`、`&lt;body&gt;`和`&lt;html&gt;`等。详细解析了这些元素的结构和作用,并强调了正确使用结束标签的重要性。此外,还提到了空元素的使用及大小写标签的规范。
|
2月前
|
前端开发 Java 应用服务中间件
21张图解析Tomcat运行原理与架构全貌
【10月更文挑战第2天】本文通过21张图详细解析了Tomcat的运行原理与架构。Tomcat作为Java Web开发中最流行的Web服务器之一,其架构设计精妙。文章首先介绍了Tomcat的基本组件:Connector(连接器)负责网络通信,Container(容器)处理业务逻辑。连接器内部包括EndPoint、Processor和Adapter等组件,分别处理通信、协议解析和请求封装。容器采用多级结构(Engine、Host、Context、Wrapper),并通过Mapper组件进行请求路由。文章还探讨了Tomcat的生命周期管理、启动与停止机制,并通过源码分析展示了请求处理流程。

推荐镜像

更多
下一篇
DataWorks