java file-io io access-denied

Obteniendo "java.nio.file.AccessDeniedException" cuando intenta escribir en una carpeta



file-io access-denied (1)

Por alguna razón, sigo obteniendo java.nio.file.AccessDeniedException cada vez que intento escribir en una carpeta en mi computadora usando una aplicación web java en Tomcat. Esta carpeta tiene permisos establecidos para control total para todos en mi computadora (Windows). ¿Alguien sabe por qué tengo esta excepción?

Aquí está mi código:

public void saveDocument(String name, String siteID, byte doc[]) { try { Path path = Paths.get(rootDirectory + siteID); if (Files.exists(path)) { System.out.println("Exists: " + path.toString()); Files.write(path, doc); } else { System.out.println("DOesn''t exist"); throw new Exception("Directory for Site with ID " + siteID + "doesn''t exist"); } } catch (FileSystemException e) { System.out.println("Exception: " + e); e.printStackTrace(); } catch (IOException e ) { System.out.println("Exception: " + e); e.printStackTrace(); } catch (Exception e) { System.out.println("Exception: " + e); e.printStackTrace(); }

Y aquí está el error:

Excepción: java.nio.file.AccessDeniedException: C: / safesite_documents / site1 java.nio.file.AccessDeniedException: C: / safesite_documents / site1 at sun.nio.fs.WindowsException.translateToIOException (WindowsException.java:83) at sun. nio.fs.WindowsException.rethrowAsIOException (WindowsException.java:97) en sun.nio.fs.WindowsException.rethrowAsIOException (WindowsException.java:102) en sun.nio.fs.WindowsFileSystemProvider.newByteChannel (WindowsFileSystemProvider.java:230) en java .nio.file.spi.FileSystemProvider.newOutputStream (FileSystemProvider.java:430) en java.nio.file.Files.newOutputStream (Files.java:172) en java.nio.file.Files.write (Files.java:3092 )

Posible motivo: Consulte mi publicación en supersuser sobre cómo no puedo desmarcar ''Solo lectura'' para cualquiera de mis carpetas en Windows 7. Aunque todas las carpetas no se leen solo a java.


Ok, resulta que estaba haciendo algo estúpido. No había agregado el nuevo nombre de archivo a la ruta. Tenía "rootDirectory =" C: / safesite_documents "pero debería haber sido ''rootDirectory =" C: / safesite_documents / newFile.jpg ".

Lo siento, fue un error estúpido como siempre.