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

时间:2011-10-05 09:29:21

标签: c# winforms

我有这段代码:

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

6 个答案:

答案 0 :(得分:23)

仅文件名(带扩展名):

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

仅包含目录:

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

答案 1 :(得分:8)

Path.GetFilenameWithoutExtension - 没有扩展程序

Path.GetFilename - 扩展程序

答案 2 :(得分:1)

我想你想要Path.GetFileName,它返回:

  

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

(听起来与你的标题相反,你想要文件扩展名 - 你不想要包含该文件的目录的路径。)

答案 3 :(得分:1)

使用Path.GetFileName

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

如果您只是想要标题中没有扩展名的文件名(但在实际帖子中似乎不需要),则可以使用Path.GetFileNameWithoutExtension

答案 4 :(得分:1)

openFileDialog1.SafeFileName将获取MyFile.dbf

答案 5 :(得分:-1)

dbf File = path.split('\')。get Value(path.split('\')。Length-1);