Как получить только имя каталога из SaveFileDialog.имя файла

какой был бы самый простой способ отделить имя каталога от имени файла при работе с SaveFileDialog.FileName в C#?

4 ответов


использование:

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

(и соответствующие им System.IO.Path.GetFileName). Класс Path действительно довольно полезен.


вы можете создать объект FileInfo. Он имеет свойство Name, FullName и DirectoryName.

var file = new FileInfo(saveFileDialog.FileName);
Console.WriteLine("File is: " + file.Name);
Console.WriteLine("Directory is: " + file.DirectoryName);

объект Path в System.IO анализирует его довольно хорошо.


поскольку косая черта не разрешена в имени файла, один простой способ-разделить SaveFileDialog.Имя файла с помощью строки.LastIndexOf; например:

string filename = dialog.Filename;
string path = filename.Substring(0, filename.LastIndexOf("\"));
string file = filename.Substring(filename.LastIndexOf("\") + 1);