java.io.FileNotFoundException: (Accès refusé)

j'essaye de lire les fichiers dans un dossier, mais quand j'exécute le programme il lance cette exception. J'ai essayé avec d'autres dossiers également. Il lance la même exception.

Exception in thread "main" java.io.FileNotFoundException: C:backup (Access is denied)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
38
demandé sur Michaël 2010-11-26 01:03:36

4 réponses

vous ne pouvez pas ouvrir et lire un répertoire, utilisez les méthodes isFile() et isDirectory() pour distinguer les fichiers et les dossiers. Vous pouvez obtenir le contenu des dossiers en utilisant les méthodes list() et listFiles() (pour les noms de fichiers et File s respectivement) vous pouvez également spécifier un filtre qui sélectionne un sous-ensemble de fichiers énumérés.

36
répondu rsp 2010-11-25 22:22:25
  1. vérifier le pnr de la réponse de
  2. vérifiez que vous avez les permissions pour lire le fichier
  3. vérifier que le fichier n'est pas verrouillé par une autre application. Il est pertinent surtout si vous êtes sur windows. pour exemple, je pense que vous pouvez obtenir à l'exception, si vous essayez de lire le fichier pendant qu'il est ouvert dans le bloc-notes
5
répondu AlexR 2010-11-25 22:28:30

aussi, dans certains cas est important de vérifier les permissions du dossier cible . Donner la permission d'écrire à l'utilisateur pourrait être la solution. Ce qui a fonctionné pour moi.

1
répondu Thales Valias 2014-11-10 14:55:52

Voici un gotcha que je viens de découvrir - peut-être qu'il pourrait aider quelqu'un d'autre. Si vous utilisez windows, le dossier classes ne doit pas avoir de cryptage activé! Tomcat n'a pas l'air d'aimer cela. Clic droit sur le dossier des classes, sélectionnez "Propriétés", puis cliquez sur Avancé..." bouton. Assurez-vous que la case à cocher" Chiffrer le contenu pour sécuriser les données " est effacée. Redémarrez Tomcat.

ça a marché pour moi donc j'espère que ça aidera quelqu'un d'autre aussi.

1
répondu rexthestrange 2018-06-04 17:46:17