Comment obtenir uniquement le nom du répertoire à partir de SaveFileDialog.FileName

StackOverflow https://stackoverflow.com/questions/16306

  •  08-06-2019
  •  | 
  •  

Question

Quelle serait la manière la plus simple de séparer le nom du répertoire du nom du fichier lorsqu'il s'agit de SaveFileDialog.FileName en C# ?

Était-ce utile?

La solution

Utiliser:

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

(et le correspondant System.IO.Path.GetFileName).La classe Path est vraiment plutôt utile.

Autres conseils

Vous pouvez construire un objet FileInfo.Il possède une propriété Name, FullName et DirectoryName.

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

L'objet Path dans System.IO l'analyse assez bien.

Étant donné que la barre oblique n'est pas autorisée dans le nom de fichier, un moyen simple consiste à diviser SaveFileDialog.Filename à l'aide de String.LastIndexOf ;Par exemple:

string filename = dialog.Filename;
string path = filename.Substring(0, filename.LastIndexOf("\"));
string file = filename.Substring(filename.LastIndexOf("\") + 1);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top