StreamReader en busca de archivo en el directorio equivocado en C #
-
19-09-2019 - |
Pregunta
Tengo un programa en el que estoy usando Windows Form, en esa forma yo uso OpenFileDialog donde abro un archivo en algún directorio. Entonces utilizar en una función diferente de un StreamReader y tengo un segundo archivo en mi directorio grande / Depuración, quiero que el StreamReader para abrir. Pero por alguna razón después de que abra la primera archivo con el OpenFileDialog el StreamReader busca el segundo archivo en ese directorio en bin / debug como de costumbre.
¿alguien sabe por qué hace eso y cómo puedo solucionarlo?
Gracias de antemano,
Greg
Solución
El OpenFileDialog
tiene ese comportamiento; se altera el directorio actual para la aplicación. Para evitar que esto suceda, se puede utilizar el RestoreDirectory
propiedad del OpenFileDialog
.
Otros consejos
Cuando se cambia de directorio en un archivo de diálogo abierto, esto también hace que el directorio de trabajo de su solicitud de cambio. Así que si usted está tratando de utilizar rutas relativas, que se verá en el lugar equivocado.
La solución es RestoreDirectory .
Si no se especifica una ruta completa del archivo, pero sólo un nombre de archivo, lo que significa que el archivo está en el directorio actual. Cuando se utiliza la OpenFileDialog, cambia el directorio actual.
Si desea acceder a un archivo en algún lugar independientemente de lo que el directorio actual se establece, hay que especificar una ruta completa para ella. Puede utilizar Application.StartupPath
para obtener la ruta a la carpeta donde el programa es.