2008-12-04 5 views
21

mir die folgenden Methode verwenden eine Datei zu suchen:Return Filename bei Verwendung von Openfile

OpenFileDialog.ShowDialog() 
    PictureNameTextEdit.Text = OpenFileDialog.FileName 

Gibt es eine Möglichkeit nur die Dateinamen bekommen?

Die Methode Dateiname gibt den vollständigen Pfad und Dateinamen zurück.

dh ich will foo.txt anstelle von C: \ somedirectory \ foo.txt

Antwort

44

Verwenden Path.GetFileName(fullPath) nur den Dateinamen Teil zu bekommen, wie folgt aus:

OpenFileDialog.ShowDialog() 
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName) 
0
//Following code return file name only 

string[] FileFullPath; 
string FileName; 
objOpenFileDialog.Title = "Select Center Logo"; 
objOpenFileDialog.ShowDialog(); 

FileFullPath = objOpenFileDialog.FileNames[0].ToString().Split('\\'); 
FileName = FileFullPath[FileFullPath.Length - 1]; //return only File Name 

//Use following code if u want save other folder , 
// following code save file to CenterLogo folder which inside bin folder// 

System.IO.File.Copy(OFD.FileName, Application.StartupPath + 
"/CenterLogo/" + FileName, true); 
2
OpenFileDialog.ShowDialog() 
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName) 
+0

Warum downvoting? Dies ist der korrekte Beispielcode für die Frage von OP. Ich habe diese Information als Teil von Jon Skeets Antwort aufgenommen. – Neolisk

1

Angenommen dass ich word2010 Datei mit dem Namen "MyFileName.docx" ausgewählt habe

Dies ist nur für die ausgewählte Datei exte nsion "einschließlich der Punktmarkierung, fe (.docx)"

MsgBox(System.IO.Path.GetExtension(Opendlg.FileName)) 

Und dies für den ausgewählten Dateinamen ohne Erweiterung: (MyFileName)

MsgBox(System.IO.Path.GetFileNameWithoutExtension(Opendlg.FileName)) 

und Sie können die anderen Optionen für die versuchen " PATH-Klasse "wie: GetFullPath, GetDirectoryName ... und so weiter.

-1

Verwenden Sie SafeFileName anstelle von FileName, und es wird ein Name (und eine Erweiterung) ohne Pfad zurückgegeben.

-1

Verwenden Sie diesen Code, um die Dateinamen in PictureNameTextEdit zu setzen:

OpenFileDialog.ShowDialog() 
PictureNameTextEdit.Text = OpenFileDialog.SafeFileName 
2

C-Code ++ für Dateinamen und vollständigen Pfad in Openfile erhalten:

textBox1->Text = OpenFileDialog1->FileName; //complete path textBox1->Text = System::IO::Path::GetFileName(OpenFileDialog1->FileName); //filename

0

, wenn Sie ohne Verlängerung nur die ausgewählten Namen wollen Sie können diesen Code versuchen

Imports System.IO 


PictureNameTextEdit.Text = Path.GetFileNameWithoutExtension(OpenFileDialog1.Fi‌​leName) 

danke