如何仅获取文件名而不包括文件路径?

17

我有这段代码:

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


难道没有openFileDialog1.FileTitle吗? - Rasel
@Rasel:不行。http://msdn.microsoft.com/zh-cn/library/system.windows.forms.openfiledialog.aspx - CJM
6个回答

33

仅包括文件名(带扩展名):

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

仅包含该目录:

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

感谢您的帮助!如何仅获取路径?-(c:\ MyDir)? - Gali
1
你应该查看 System.IO.Path 命名空间下的其他静态方法。那里有很多有用的东西,而且它们都相当容易理解。 - Ishmaeel

12

1

openFileDialog1.SafeFileName将会得到MyFile.dbf


1

我认为你想要的是Path.GetFileName,它返回:

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

(听起来与您的标题相反,您确实需要文件扩展名 - 您不需要包含文件的目录的路径。)


1

-1

dbf_File = path.split('\\').getValue(path.split('\\').length - 1);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接