2011-10-05 88 views
13

我有這樣的代碼:如何獲得沒有文件路徑的文件名?

openFileDialog1.Filter = "csv files (*.dbf)|*.dbf"; 
openFileDialog1.FilterIndex = 1; 
openFileDialog1.RestoreDirectory = true; 
openFileDialog1.FileName = ""; 

if (openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
    dbf_File = openFileDialog1.FileName; 
} 

在dbf_File我得到的所有的文件路徑和名稱(c:\MyDir\MyFile.dbf

我需要的只是名稱 - MyFile.dbf

+0

問題的標題修改... – CJM

+0

難道沒有任何openFileDialog1.FileTitle? – Rasel

+0

@Rasel:No. http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx – CJM

回答

17

只有文件名(擴展):

dbf_File = System.IO.Path.GetFileName(dbf_File); 

僅含有目錄:

string dbf_Path = System.IO.Path.GetDirectoryName(dbf_File); 
+0

感謝您的幫助!,以及如何獲得唯一的路徑? - (c:\ MyDir)? – Gali

+1

您應該查看** System.IO.Path **名稱空間下的其他靜態方法。有一些有用的東西,他們是不言自明的。 – Ishmaeel

1

我想你想Path.GetFileName,返回:

路徑中最後一個目錄字符之後的字符。如果路徑的最後一個字符是目錄或卷分隔符,則此方法返回String.Empty。

(聽起來好像違背了你的標題,你所需的文件擴展名 - 你不想對包含該文件的目錄的路徑。)

-1

dbf_File = path.split( '\')。的getValue(path.split( '\')。 Lenth-1);

1

openFileDialog1.SafeFileName會得到MyFile.dbf

相關問題