Подтвердить что ты не робот

Как получить только имя файла без пути к файлу?

У меня есть этот код:

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

4b9b3361

Ответ 1

Только имя файла (с расширением):

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

Только содержащий каталог:

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

Ответ 3

Я думаю, вы хотите Path.GetFileName, который возвращает:

Символы после последнего символа каталога в пути. Если последний символ пути является символом разделителя каталога или тома, этот метод возвращает String.Empty.

(Похоже, что это противоречит вашему названию, вам нужно расширение файла - вам не нужен путь к каталогу, содержащему файл.)

Ответ 4

Используйте Path.GetFileName

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

Если вам просто нужно имя файла без расширения, как вы сказали в заголовке (но тогда, похоже, не было нужды в вашем фактическом сообщении), вы можете использовать Path.GetFileNameWithoutExtension.

Ответ 5

openFileDialog1.SafeFileName получит MyFile.dbf

Ответ 6

dbf_File = path.split('\'). getValue (путь .split('\'). Lenth-1);