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 )
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.