C#从入门到精通(22)—Path类的使用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家人工智能学习网站

前言:

大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发上位机软件的过程中,有时候需要对文件的路径、文件名、扩展名进行操作,下面进行详细介绍:

1、合并路径

将盘符、文件夹、文件进行合并成最全的文件路径

csharp 复制代码
   string path1 = "d:\\";//盘符后面要先加上斜杠
   string path2 = "test";
   string path3 = "123456.txt";
   string path = Path.Combine(path1, path2, path3);//合并路径
   Console.WriteLine(path);

输出:

csharp 复制代码
d:\test\123456.txt

2、获取目录信息

目录就是文件的上一层目录

csharp 复制代码
   string path4 = @"D:\test\123456.txt";
   string dir = Path.GetDirectoryName(path4);//获取目录信息
   Console.WriteLine(dir);

输出:

csharp 复制代码
D:\test

3、获取文件扩展名

所谓扩展名比如.txt文件的扩展名就是.txt

csharp 复制代码
  string extension = Path.GetExtension(path4);//返回扩展名
  Console.WriteLine(extension);

输出:

csharp 复制代码
.txt

4、获取文件名

文件名是不包含任何目录信息的

csharp 复制代码
 string fileName = Path.GetFileName(path4);//返回文件名
 Console.WriteLine(fileName);

输出:

csharp 复制代码
123456.txt

5、获取不包含扩展名的文件名

此方法获取的文件名中不包含扩展名,比如123456.txt,最后只返回123456。

csharp 复制代码
 string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path4);//返回不包含扩展名的文件名
 Console.WriteLine(fileNameWithoutExtension);

输出:

csharp 复制代码
123456

6、获取全路径

我传入了一个相对目录,然后此方法返回一个绝对路径,也就是在你输入的目录之前加上应用程序运行目录。

复制代码
  string fullPath = Path.GetFullPath("test");//获取全路径,比较适合传入相对路径,自动补上应用程序路径
  Console.WriteLine(fullPath);

输出:

csharp 复制代码
C:\Users\zhaij\source\repos\WindowsFormsApp5\WindowsFormsApp5\bin\Debug\test

7、获取根目录信息

所谓根目录就是盘符,在硬盘的哪个盘下。

csharp 复制代码
 string pathRoot = Path.GetPathRoot(path4);//获取根目录信息
 Console.WriteLine(pathRoot);

输出:

csharp 复制代码
D:\

8、判断是否含有扩展名

判断一个文件的全路径是否含有扩展名

复制代码
 bool HasExtension = Path.HasExtension(path4);//判断是否含有扩展名
 Console.WriteLine(HasExtension);

输出:

csharp 复制代码
True

9、改变文件扩展名

下面的代码 将文件名的扩展名改成了.ini

csharp 复制代码
  string changePath = Path.ChangeExtension(path4, "ini");//改变文件扩展名
  Console.WriteLine(changePath);

输出:

csharp 复制代码
D:\test\123456.ini

10、获取不允许使用的路径字符

复制代码
 char[] PathChars = Path.GetInvalidPathChars();//获取不允许使用的路径字符

11、 获取不允许使用的文件名字符

csharp 复制代码
char[] FileNameChars = Path.GetInvalidFileNameChars();//获取不允许使用的文件名字符

作者介绍

马工2017年硕士毕业,一直从事上位机软件开发工作,在我工作的第四年年薪突破了40万+,为了帮助跟我一样从底层出身的上位机软件工程师早日达到高级工程师的水平,早日找到30万+的工作,我根据多年项目经验,总结出了一系列可直接用于项目的C#上位机实战教程推荐给大家,目前在CSDN已经超过一千人订阅,如果你不甘贫庸,想像我一样早日拿到高薪,马工强烈推荐你早日学这套教程,雷军曾说这个世界上有99%的问题别人都遇到过,你要做的不是闷头干!而是找这个领域的专家问一下,这是最快速提升自己的方法!

年入30万+C#上位机实战必备教程推荐(点击下方链接即可访问文章)

1、《C#串口通信从入门到精通》

2、《C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

相关推荐
加号34 小时前
【C#】 字符串字节到十六进制字节数组的转换解析
c#
吃好睡好便好4 小时前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
TechWayfarer4 小时前
查询IP所在地的3种方案:从API到离线库,风控场景怎么选?
开发语言·网络·python·网络协议·tcp/ip
摇滚侠4 小时前
Java 零基础全套教程,集合框架,笔记 153-163
java·开发语言·笔记
程序员榴莲5 小时前
Python 单例模式
开发语言·python·单例模式
L、2185 小时前
CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程
java·开发语言
JaydenAI5 小时前
[MAF的Agent管道详解-04]如何让LLM按照要求的结构输出数据?
ai·c#·agent·maf·agent pipeline
狗凯之家源码网5 小时前
基于PHP的多语言跨境电商B2B2C商城系统技术解析
开发语言·php
比特森林探险记6 小时前
go 语言中的context 解读和用法
开发语言·后端·golang
古城小栈6 小时前
Rust 调用 C 语言库 实战指南(企业级)
c语言·开发语言·rust