如何从文件夹路径获取文件夹名称?C#实现方式是否正确?
C#获取文件夹名称:Path.GetFileName的正确性说明
你使用的string folderName = Path.GetFileName(enteredPath);代码不完全正确,存在局限性:
- 如果输入的文件夹路径不带末尾斜杠(比如
C:\Demo\TestFolder),这段代码能正常返回TestFolder,结果符合预期; - 如果路径末尾带有目录分隔符(不管是
\还是/,比如C:\Demo\TestFolder\),Path.GetFileName会返回空字符串,不符合获取文件夹名称的需求。
推荐两种更可靠的实现方式:
方式一:使用DirectoryInfo类
这种方法最直观,不管路径是否带末尾斜杠,都能准确获取文件夹名称,还能自动处理路径合法性(无效路径会抛出异常,便于后续错误处理):
string folderName = new DirectoryInfo(enteredPath).Name;
方式二:组合Path类的方法
先移除路径末尾的目录分隔符,再调用GetFileName,避免空字符串问题:
string folderName = Path.GetFileName(Path.TrimEndingDirectorySeparator(enteredPath));
内容的提问来源于stack exchange,提问作者Wiiscord
相关产品推荐
相关产品推荐

