у меня есть этот код:
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)
c:\MyDir\MyFile.dbf
мне нужно только имя - MyFile.dbf
MyFile.dbf
Только имя файла (с расширением):
dbf_File = System.IO.Path.GetFileName(dbf_File);
Только содержащий каталог:
string dbf_Path = System.IO.Path.GetDirectoryName(dbf_File);
Path.GetFilenameWithoutExtension - без расширения
Path.GetFilename - с расширением
openFileDialog1.SafeFileName получит MyFile.dbf
Использовать Path.GetFileName
Path.GetFileName
http://msdn.microsoft.com/en-us/library/system.io.path.getfilename.aspx
Если вы просто хотели получить имя файла без расширения, как вы сказали в заголовке (но тогда казалось, что вам не нужно в вашем реальном сообщении), вы можете использовать Path.GetFileNameWithoutExtension.
Path.GetFileNameWithoutExtension
Я думаю, что вы хотите Path.GetFileName, что возвращает:
Символы после последнего символа каталога в пути.Если последний символ пути является символом каталога или разделителя томов, этот метод возвращает String.Empty.
(Звучит так, как если бы вы противоречили вашему названию, вы делаете хотите файлрасширение - вам не нужен путь к каталогу, содержащему файл.)
dbf_File = path.split ('\'). GetValue (path.split ('\'). Lenth-1);