java.security.AccessControlException: Acesso negado (java.io.FilePermission

final File parentDir = new File("S:\\PDSPopulatingProgram"); parentDir.mkdir(); final String hash = "popupateData"; final String fileName = hash + ".txt"; final File file = new File(parentDir, fileName); file.createNewFile(); // Creates file PDSPopulatingProgram/popupateData.txt 

Eu estou tentando criar um arquivo em uma pasta, mas estou ficando exceção como

 java.security.AccessControlException: Access denied 

Eu estou trabalhando no ambiente do windows. Eu posso criar uma pasta do Windows Explorer, mas não do código Java.

Como posso resolver esse problema?

Dentro do seu \lib\security\java.policy tente adicionar:

grant { permission java.security.AllPermission; };

E veja se isso te permite. Nesse caso, você precisará adicionar permissions mais granulares.

Vejo:

Documentação Java 8 para arquivos java.policy

e

http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html

Embora não seja recomendado, mas se você realmente quiser permitir que seu aplicativo da Web acesse uma pasta fora do diretório de implantação. Você precisa adicionar a seguinte permissão no arquivo java.policy (o caminho é como na resposta de Petey B)

 permission java.io.FilePermission "your folder path", "write" 

No seu caso, seria

 permission java.io.FilePermission "S:/PDSPopulatingProgram/-", "write" 

Aqui /- significa quaisquer arquivos ou sub-pastas dentro desta pasta.

Aviso: Mas ao fazer isso, você está convidando algum risco de segurança.

    Intereting Posts