Pregunta

Estoy intentando leer los archivos dentro de una carpeta, pero cuando ejecuto el programa se emite esta excepción. Probé con algunas otras carpetas también. Se lanza la misma excepción.

Exception in thread "main" java.io.FileNotFoundException: C:\backup (Access is denied)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
¿Fue útil?

Solución

No se puede abrir y leer un directorio, utilice los métodos isFile() y isDirectory() para distinguir entre los archivos y carpetas. Puede obtener el contenido de las carpetas utilizando los métodos y list() listFiles() (para nombres de archivo y Files respectivamente) también puede especificar un filtro que selecciona un subconjunto de archivos de la lista.

Otros consejos

  1. comprobar la respuesta del RSP
  2. Compruebe que tiene permisos para leer el archivo
  3. comprobar si el archivo no está bloqueado por otra aplicación. Es relevante sobre todo si está en Windows. por ejemplo, creo que se puede obtener la excepción si usted está tratando de leer el archivo mientras se abre en libreta

Además, en algunos casos es importante comprobar los permisos carpeta de destino . Para dar permiso de escritura para el usuario podría ser la solución. Eso funcionó para mí.

Aquí hay una Gotcha que acabo de descubrir - tal vez podría ayudar a alguien más. Si el uso de las ventanas de las clases carpeta no debe tener activada la codificación! Tomcat no parece que les gusta eso. Haga clic derecho sobre las clases de carpeta, seleccione "Propiedades" y luego haga clic en el botón "Advanced ...". Asegúrese de que el "Cifrar contenido para asegurar los datos" casilla de verificación está desactivada. Reinicie Tomcat.

Se trabajó para mí, así que aquí está la esperanza de que ayude a alguien más, también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top