L'accès à Java est refusé.io.FileNotFoundException [dupliquer]
cette question a déjà une réponse ici:
j'ai le code suivant:
List<FileItem> items = uploadHandler.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
File file = new File("D:/Data");
}
}
Lorsque j'essaie d'enregistrer un fichier, j'obtiens l'erreur suivante
java.io.FileNotFoundException: D:Data (Access is denied.)
quelle pourrait être la raison et comment puis-je résoudre cela? J'ai la permission de lire et d'écrire dans ce dossier.
5 réponses
Lorsque vous créez un nouveau File
, vous êtes censé fournir le nom du fichier, pas seulement le répertoire dans lequel vous voulez mettre votre fichier.
Essayez quelque chose comme
File file = new File("D:/Data/" + item.getFileName());
Pas exactement le cas de cette question, mais peut être utile. J'ai eu cette exception quand j'ai appelé mkdirs () sur le nouveau fichier au lieu de son parent
File file = new java.io.File(path);
//file.mkdirs(); // wrong!
file.getParentFile().mkdirs(); // correct!
if (!file.exists()) {
file.createNewFile();
}
je recherche ce problème et j'ai obtenu les réponses suivantes:
-
"C:\Program Files\Apache-tomcat-7.0.69\"
supprimer l'antislash supplémentaire (\
) - cliquez avec le bouton droit de la souris sur le dossier log dans le dossier tomcat et dans l'onglet sécurité pour donner à ce dossier la permission d'écrire, puis redémarrez net-beans en tant qu'administrateur.
votre problème sera résolu
vous devez définir la permission pour les contrôles d'utilisateur .
- Goto C:\Program Files\
- clic droit dossier java, cliquez Propriétés. Sélectionnez l'onglet sécurité.
- là, cliquez sur le bouton" Edit", qui affichera les PERMISSIONS pour la fenêtre JAVA.
- cliquez sur Ajouter, qui ouvrira une nouvelle fenêtre. Dans ce cas, dans la case "entrer le nom de l'objet", entrez le nom de votre compte d'utilisateur, et cliquez d'accord(si déjà existent, sautez cette étape).
- maintenant dans la fenêtre "PERMISSIONS de JAVA", vous verrez plusieurs cliquables options comme créateur propriétaire, système, parmi eux est votre utilisateur. Cliquez dessus et cochez l'option de contrôle Les autorisations pour les sous-fenêtre.
- enfin, appuyez sur apply et OK.
assurez-vous que le répertoire existe, vous avez l'autorisation d'accéder et d'ajouter le fichier dans le chemin d'écrire le journal:
File file = new File("D:/Data/" + item.getFileName());