Archivo

Posts Tagged ‘C#’

[C#] Access to the path {0} is denied. Solución

Buenas,

De regreso al blog, en esta ocasión es más enserio. Aquí hablando de un error común cuando hablamos de acceder a Carpetas o Archivos desde nuestra aplicación.

Seguramente hay muchas opciones para darle solución a esto, y la más común es simplemente ir dicha carpeta, o archivo hacer clic derecho ir a Propiedades y deshabilitar el checkbox de “Read-only”.

Pero que ocurre cuando es una aplicación de escritorio y no tenemos acceso a dicho archivo, bueno para este escenario aquí propongo una solución:

Imaginen que queremos abrir un archivo de texto, con esta instrucción

FileStream fileStream = new FileStream(rutaArchivo, FileMode.Open);

Si nuestro archivo tiene activa la propiedad de “Read-only”, entonces nos mostrará el siguiente error:

image

Para solucionar esto es necesario desactivar la propiedad de solo lectura, y eso lo hacemos con la siguiente instrucción, antes de intentar abrir el archivo en cuestión:

File.SetAttributes(rutaArchivo, 
    File.GetAttributes(rutaArchivo) & ~FileAttributes.ReadOnly);

Con esto ya podemos leer archivos, imágenes, etc. El detalle aquí que puede ocurrir es si nuestra aplicación no se ejecuta como administrador.

Espero que les sea de utilidad.

Saludos.

Categorías: C#, Errores, Tips Etiquetas: , ,