我有这段代码:
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 :(得分: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);