C# 轻松获取路径中文件名、目录、扩展名等

本文深入解析了C#中Path类提供的路径操作方法,包括GetFullPath、GetDirectoryName、GetFileName等,详细阐述了如何轻松获取路径中的文件名、目录、扩展名等关键信息,并通过实例演示了应用这些方法的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string path = "C://dir1//dir2//foo.txt";
string str = "GetFullPath:" + Path.GetFullPath(path) + "/r/n";
str += "GetDirectoryName:" + Path.GetDirectoryName(path) + "/r/n";
str += "GetFileName:" + Path.GetFileName(path) + "/r/n";
str += "GetFileNameWithoutExtension:" + Path.GetFileNameWithoutExtension(path) + "/r/n";
str += "GetExtension:" + Path.GetExtension(path) + "/r/n";
str += "GetPathRoot:" + Path.GetPathRoot(path) + "/r/n";
MessageBox.Show(str);

GetFullPath:C:/dir1/dir2/foo.txt
GetDirectoryName:C:/dir1/dir2
GetFileName:foo.txt
GetFileNameWithoutExtension:foo
GetExtension:.txt
GetPathRoot:C:/

这里要说明 path 是如何C# 轻松获取路径中文件名、目录、扩展名等判断目录和文件名的:它把最后一个 / 后面的内容当作是文

件名。

    C:/dir1/dir2/foo.txt 文件名是 foo.txt,目录名是 C:/dir1/dir2。
    C:/dir1/dir2/ 文件名是零长度字符串,目录名是 C:/dir1/dir2。
    C:/dir1/dir2 文件名是 dir2,目录名是 C:/dir1。

C#中,要获取一个文件的无路径文件名扩展名,可以使用`System.IO.Path`类提供的方法。具体方法如下: 1. 使用`Path.GetFileName`方法:此方法可以接受一个包含文件路径的字符串,并返回路径中的文件名部分,即包含了文件的扩展名。 ```csharp string fullPath = @"C:\example\test.txt"; string fileNameWithExtension = System.IO.Path.GetFileName(fullPath); // 返回 "test.txt" ``` 2. 使用`Path.GetFileNameWithoutExtension`方法:此方法与`Path.GetFileName`相似,但它返回的是不包含扩展名文件名部分。 ```csharp string fullPath = @"C:\example\test.txt"; string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fullPath); // 返回 "test" ``` 3. 结合使用`Path.GetFileName`和`Path.GetFileNameWithoutExtension`方法:你可以先使用`Path.GetFileName`得到包含扩展名文件名,然后根据需要是否使用`Path.GetFileNameWithoutExtension`来进一步提取出无扩展名文件名部分。 ```csharp string fullPath = @"C:\example\test.txt"; string fileNameWithExtension = System.IO.Path.GetFileName(fullPath); // 返回 "test.txt" string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fileNameWithExtension); // 从 fileNameWithExtension 中得到 "test" ``` 请注意,在使用这些方法时,提供的路径应确保是有效的文件路径,否则可能会返回不预期的结果或引发异常。同时确保在实际应用中处理可能的异常,例如文件路径不存在或格式错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值