如何仅从 SaveFileDialog.FileName 获取目录名称

How to get only directory name from SaveFileDialog.FileName

提问人:Redbaron 提问时间:8/19/2008 最后编辑:Redbaron 更新时间:8/17/2019 访问量:5150

问:

在 C# 中处理时,将目录名称与文件名分开的最简单方法是什么?SaveFileDialog.FileName

C# 字符串 分析

评论


答:

0赞 rjzii 8/19/2008 #1

由于文件名中不允许使用正斜杠,因此一种简单的方法是使用 String.LastIndexOf 划分 SaveFileDialog.Filename;例如:

string filename = dialog.Filename;
string path = filename.Substring(0, filename.LastIndexOf("\"));
string file = filename.Substring(filename.LastIndexOf("\") + 1);
1赞 Jay Mooney 8/19/2008 #2

中的 Path 对象很好地解析了它。System.IO

2赞 Jake Pearson 8/19/2008 #3

您可以构造一个 FileInfo 对象。它具有 Name、FullName 和 DirectoryName 属性。

var file = new FileInfo(saveFileDialog.FileName);
Console.WriteLine("File is: " + file.Name);
Console.WriteLine("Directory is: " + file.DirectoryName);
15赞 Adam Wright 8/19/2008 #4

用:

System.IO.Path.GetDirectoryName(saveDialog.FileName)

(以及相应的 )。Path 类确实非常有用。System.IO.Path.GetFileName