How retrieve only filename from save file dialog [

2019-04-08 10:21发布

问题:

This question already has an answer here:

  • Obtaining only the filename when using OpenFileDialog property “FileName” 3 answers

I have a save file dialog and i want to get only the filename entered. Equivalent for

    openfiledialog.SafeFileName;

Save file dialog has no SafeFileName Property and FileName returns both filename, path and extension. Pls how do i extract only file name.

回答1:

If you want the filename with extension use Path.GetFileName(). If you want it without the extension as well use Path.GetFileNameWithoutExtension().

public void Test(string fileName)
{
    string path = Path.GetDirectoryName(fileName);
    string filename_with_ext = Path.GetFileName(fileName);
    string filename_without_ext = Path.GetFileNameWithoutExtension(fileName);
    string ext_only = Path.GetExtension(fileName);
}

See MSDN for further details, especially the Path class which has a number of useful methods:

http://msdn.microsoft.com/en-us/library/System.IO.Path_methods.aspx

http://msdn.microsoft.com/en-us/library/system.io.path.getfilename.aspx

http://msdn.microsoft.com/en-us/library/system.io.path.getfilenamewithoutextension.aspx



回答2:

Also found another solution to my problem

    FileInfo fi = new FileInfo(saveFileDialog1.FileName);
    string text = fi.Name;