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