2011-10-05 30 views
13

tengo este código:cómo obtener solo el nombre del archivo sin la ruta del archivo?

openFileDialog1.Filter = "csv files (*.dbf)|*.dbf"; 
openFileDialog1.FilterIndex = 1; 
openFileDialog1.RestoreDirectory = true; 
openFileDialog1.FileName = ""; 

if (openFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
    dbf_File = openFileDialog1.FileName; 
} 

en dbf_File i obtener toda la ruta y el nombre (c:\MyDir\MyFile.dbf)

necesito sólo el nombre - MyFile.dbf

+0

Pregunta modificado ... – CJM

+0

¿No hay ninguna openFileDialog1.FileTitle? – Rasel

+0

@Rasel: No. http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx – CJM

Respuesta

17

Sólo el nombre del archivo (con extensión):

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

Sólo el directorio que contiene:

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

¡Gracias por la ayuda! ¿Y cómo obtener solo el camino? - (c: \ MyDir)? – Gali

+1

Debería verificar otros métodos estáticos en el espacio de nombres ** System.IO.Path **. Hay un montón de cosas útiles y son bastante auto explicativas. – Ishmaeel

1

Creo que quieres Path.GetFileName, que devuelve :

los caracteres después del último carácter directorio en el camino. Si el último carácter de la ruta es un directorio o un carácter separador de volumen, este método devuelve String.Empty.

(suena como contraria a su título, que hace quieren que la extensión de archivo - usted no desea que la ruta para el directorio que contiene el archivo.)

-1

dbf_File = path.split ('\'). getValue (path.split ('\'). Lenth-1);

1

openFileDialog1.SafeFileName recibirá MyFile.dbf título

Cuestiones relacionadas