如何获得没有文件路径的文件名?

问题描述:

我有这样的代码:如何获得没有文件路径的文件名?

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

只有文件名(扩展):

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

我想你想Path.GetFileName,返回:

路径中最后一个目录字符之后的字符。如果路径的最后一个字符是目录或卷分隔符,则此方法返回String.Empty。

(听起来好像违背了你的标题,你所需的文件扩展名 - 你不想对包含该文件的目录的路径。)

使用Path.GetFileName

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

如果您只是希望文件名不带扩展名(如您在标题中所说的那样(但似乎并不想在您的实际文章中)),则可以使用Path.GetFileNameWithoutExtension

Path.GetFilenameWithoutExtension -without延伸

Path.GetFilename - 具有延伸

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

openFileDialog1.SafeFileName会得到MyFile.dbf