such permission not found ejemplo java filenotfoundexception

ejemplo - java io filenotfoundexception permission denied



Java: acceso denegado java.io.FileNotFoundException (5)

Esta pregunta ya tiene una respuesta aquí:

Tengo el siguiente código:

List<FileItem> items = uploadHandler.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { File file = new File("D:/Data"); } }

Cuando intento guardar un archivo, aparece el siguiente error

java.io.FileNotFoundException: D:/Data (Access is denied.)

¿Cuál podría ser la razón y cómo puedo resolver esto? Tengo permiso de lectura y escritura en esta carpeta.


Asegúrese de que el directorio exista, tiene permiso para acceder a él y agregue el archivo a la ruta para escribir el registro:

File file = new File("D:/Data/" + item.getFileName());


Cuando crea un nuevo File , se supone que debe proporcionar el nombre del archivo, no solo el directorio en el que desea colocar su archivo.

Prueba con algo como

File file = new File("D:/Data/" + item.getFileName());


Es necesario establecer permisos para los controles de usuario.

  1. Ir a C: / Archivos de programa /
  2. Haga clic derecho en la carpeta Java, haga clic en Propiedades. Seleccione la pestaña de seguridad.
  3. Allí, haga clic en el botón "Editar", que abrirá la ventana de PERMISOS PARA JAVA.
  4. Haga clic en Agregar, que aparecerá una nueva ventana. En eso, en el cuadro "Introduzca el nombre del objeto", ingrese el nombre de su cuenta de usuario y haga clic en Aceptar (si ya existe, omita este paso).
  5. Ahora, en la ventana "PERMISOS DE JAVA", verá varias opciones para hacer clic como CREATOR OWNER, SYSTEM, entre ellas su nombre de usuario. Haga clic en él y marque la opción CONTROL COMPLETO en Permisos para la ventana secundaria.
  6. Finalmente, pulse aplicar y está bien.

He buscado este problema y obtuve las siguientes respuestas:

  1. "C:/Program Files/Apache-tomcat-7.0.69/" elimina la barra invertida adicional ( / )
  2. Haga clic con el botón derecho en la carpeta de registro en la carpeta tomcat y en la pestaña de seguridad, otorgue esta carpeta como permiso de escritura y luego reinicie los beans de red como administrador.

Su problema será resuelto


No es exactamente el caso de esta pregunta, pero puede ser útil. Obtuve esta excepción cuando llamo a mkdirs () en un archivo nuevo en lugar de a su padre

File file = new java.io.File(path); //file.mkdirs(); // wrong! file.getParentFile().mkdirs(); // correct! if (!file.exists()) { file.createNewFile(); }