2013-08-14 26 views
5

Mam okno dialogowe zapisu pliku i chcę uzyskać tylko nazwę pliku. Ekwiwalent zaJak pobrać tylko nazwę pliku z okna dialogowego zapisywania pliku

openfiledialog.SafeFileName; 

dialogowym Zapisz plik ma SafeFileName własność i FileName powroty zarówno nazwa pliku, ścieżka i wewnętrzny. Pls jak wyodrębnić tylko nazwę pliku.

+1

Rozważ skorzystanie z wyszukiwarek w pierwszej kolejności ... [C# pobierz tylko nazwę pliku ze ścieżki pliku] (http://www.bing.com/search?q=c%23+retrieve+only+filename+from+file + ścieżka) daje całkiem przyzwoity strzał w odpowiedzi. –

+0

@AlexeiLevenkov próbował używać google, ale nie znalazł nic użytecznego –

+0

@AlexeiLevenkov ahahahahahah! Bing! – Sebastien

Odpowiedz

15

Jeśli chcesz, aby nazwa pliku z rozszerzeniem, użyj Path.GetFileName(). Jeśli chcesz to bez rozszerzenia, użyj również 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); 
} 

Zobacz MSDN dla dalszych szczegółów, zwłaszcza klasa Path który posiada szereg przydatnych metod:

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

Także inne rozwiązanie do mojego problem

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