25
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

フォルダーにファイルを作成しようとしていますが、例外が発生しています

java.security.AccessControlException: Access denied

Windows環境で作業しています。Windows エクスプローラーからフォルダーを作成できますが、Java コードからは作成できません。

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

25

<jre location>\lib\security\java.policy追加してみてください:

grant { permission java.security.AllPermission; };

そして、それがあなたを許すかどうか見てください。その場合は、より詳細なアクセス許可を追加する必要があります。

見る:

java.policy ファイルに関する Java 8 ドキュメント

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

于 2012-05-04T19:36:53.377 に答える
10

推奨されませんが、Web アプリケーションがデプロイメント ディレクトリ外のフォルダーにアクセスできるようにしたい場合は、. ファイルに次の権限を追加する必要がありjava.policyます(パスはPetey Bの返信のとおりです)

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

あなたの場合、それは

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

ここで/-は、このフォルダー内のファイルまたはサブフォルダーを意味します。

警告:ただし、これを行うと、セキュリティ リスクが発生します。

于 2012-09-07T11:48:20.690 に答える