Problema de acceso a Directorios

13/02/2008 - 18:18 por javito | Informe spam
Mi aplicación carga con todos los archivos que necesita en directorios que
cuelgan de la raiz de la aplicación, pero luego quiero acceder por ejemplo
al directorio de la imágenes con objetos FileInfo y crear una colección con
los nombres y no veo la forma de acceder al directorio si tener que indicar
la ruta completa sino a partir del directorio raíz de la aplicación con algo
como

DirectoryInfo DF = new DirectoryInfo(?? Imagenes ??);
sabeís que puedo poner para que esa cadena ??Imagenes?? funcione como
quiero.

un saludo

Preguntas similare

Leer las respuestas

#1 Paulino Padial
13/02/2008 - 18:58 | Informe spam
Una solución rápida seria así
DirectoryInfo DF = new DirectoryInfo(System.Environment.CurrentDirectory +
"\\Imagenes");

Aclarar que el CurrentDirectory de la aplicacion es digamos donde esta el
ejecutable que lanza la aplicación, mientras estamos desarrollando, hazme un
MessageBox.Show(System.Environment.CurrentDirectory);
y verá que aparece la carpeta bin\Debug

En la fase de desarrollo utilice
DirectoryInfo DF = new DirectoryInfo(System.Environment.CurrentDirectory +
"\\..\\..\\Imagenes");
por ejemplo, y cuando despliegue la aplicación puede dejar solo el primero
que puse, si la carpeta de imágenes esta en una estructura de directorios
asi

/ raiz
/Imagenes
Aplicacion.exe

Saludos Cordiales,

"javito" escribió en el mensaje de
noticias:#
Mi aplicación carga con todos los archivos que necesita en directorios que
cuelgan de la raiz de la aplicación, pero luego quiero acceder por
ejemplo al directorio de la imágenes con objetos FileInfo y crear una
colección con los nombres y no veo la forma de acceder al directorio si
tener que indicar la ruta completa sino a partir del directorio raíz de la
aplicación con algo como

DirectoryInfo DF = new DirectoryInfo(?? Imagenes ??);
sabeís que puedo poner para que esa cadena ??Imagenes?? funcione como
quiero.

un saludo

Respuesta Responder a este mensaje
#2 Javito
14/02/2008 - 11:58 | Informe spam
No es del todo Correcto, dado que si cuelgas una imagen o un archivo XML del
Explorador de Soluciones estos objetos fisicamente se situan en el
directorio Raiz de la Aplicación, es decir si la Solución se llama
PruebasXML lo coloca de el directorio PruebasXML , pero
System.Environment.CurrentDirectory hace referencia al directorio desde el
que se inicia la aplicación es decir del directorio bin/Debug, se te ocurre
alguna otra forma porque tiene que haberla y cosas como "~/Calles.xml" o
".Calles.xml" no funcionan,

un saludo
"Paulino Padial" escribió en el mensaje
news:%
Una solución rápida seria así
DirectoryInfo DF = new DirectoryInfo(System.Environment.CurrentDirectory +
"\\Imagenes");

Aclarar que el CurrentDirectory de la aplicacion es digamos donde esta el
ejecutable que lanza la aplicación, mientras estamos desarrollando, hazme
un
MessageBox.Show(System.Environment.CurrentDirectory);
y verá que aparece la carpeta bin\Debug

En la fase de desarrollo utilice
DirectoryInfo DF = new DirectoryInfo(System.Environment.CurrentDirectory +
"\\..\\..\\Imagenes");
por ejemplo, y cuando despliegue la aplicación puede dejar solo el primero
que puse, si la carpeta de imágenes esta en una estructura de directorios
asi

/ raiz
/Imagenes
Aplicacion.exe

Saludos Cordiales,

"javito" escribió en el mensaje de
noticias:#
Mi aplicación carga con todos los archivos que necesita en directorios
que cuelgan de la raiz de la aplicación, pero luego quiero acceder por
ejemplo al directorio de la imágenes con objetos FileInfo y crear una
colección con los nombres y no veo la forma de acceder al directorio si
tener que indicar la ruta completa sino a partir del directorio raíz de
la aplicación con algo como

DirectoryInfo DF = new DirectoryInfo(?? Imagenes ??);
sabeís que puedo poner para que esa cadena ??Imagenes?? funcione como
quiero.

un saludo

Respuesta Responder a este mensaje
#3 Jesús López
17/02/2008 - 11:17 | Informe spam
Pero si al archivo PruebasXML le pones la propiedad Copy To Output Directory
= "Allways" o "If newer", entonces después de compilar el proyecto estará en
el directorio bin\debug o binealease.

Otra cosa que puedes hacer es usar Application.StartupPath en vez de
Environment.CurrentDirectory. Application.StartupPath es más fiable que
Environment.CurrentDirectory ya que éste último puede cambiar durante la
ejecución de la aplicación.

Tambien puedes usar los métodos de la clase Sytem.IO.Path para manipular y
combinar rutas de archivos.

Saludos:

Jesús López
www.soldiq.com


"Javito" escribió en el mensaje
news:%
No es del todo Correcto, dado que si cuelgas una imagen o un archivo XML
del Explorador de Soluciones estos objetos fisicamente se situan en el
directorio Raiz de la Aplicación, es decir si la Solución se llama
PruebasXML lo coloca de el directorio PruebasXML , pero
System.Environment.CurrentDirectory hace referencia al directorio desde el
que se inicia la aplicación es decir del directorio bin/Debug, se te
ocurre alguna otra forma porque tiene que haberla y cosas como
"~/Calles.xml" o ".Calles.xml" no funcionan,

un saludo
"Paulino Padial" escribió en el mensaje
news:%
Una solución rápida seria así
DirectoryInfo DF = new DirectoryInfo(System.Environment.CurrentDirectory
+ "\\Imagenes");

Aclarar que el CurrentDirectory de la aplicacion es digamos donde esta el
ejecutable que lanza la aplicación, mientras estamos desarrollando, hazme
un
MessageBox.Show(System.Environment.CurrentDirectory);
y verá que aparece la carpeta bin\Debug

En la fase de desarrollo utilice
DirectoryInfo DF = new DirectoryInfo(System.Environment.CurrentDirectory
+ "\\..\\..\\Imagenes");
por ejemplo, y cuando despliegue la aplicación puede dejar solo el
primero que puse, si la carpeta de imágenes esta en una estructura de
directorios asi

/ raiz
/Imagenes
Aplicacion.exe

Saludos Cordiales,

"javito" escribió en el mensaje de
noticias:#
Mi aplicación carga con todos los archivos que necesita en directorios
que cuelgan de la raiz de la aplicación, pero luego quiero acceder por
ejemplo al directorio de la imágenes con objetos FileInfo y crear una
colección con los nombres y no veo la forma de acceder al directorio si
tener que indicar la ruta completa sino a partir del directorio raíz de
la aplicación con algo como

DirectoryInfo DF = new DirectoryInfo(?? Imagenes ??);
sabeís que puedo poner para que esa cadena ??Imagenes?? funcione como
quiero.

un saludo







email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida