webentwicklung-frage-antwort-db.com.de

java.io.FileNotFoundException: (Zugriff verweigert)

Ich versuche, die Dateien in einem Ordner zu lesen, aber wenn ich das Programm starte, wird diese Ausnahme ausgelöst. Ich habe es auch mit einigen anderen Ordnern versucht. Es löst die gleiche Ausnahme aus.

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)
43
John

Sie können ein Verzeichnis nicht öffnen und lesen. Verwenden Sie die Methoden isFile() und isDirectory(), um zwischen Dateien und Ordnern zu unterscheiden. Sie können den Inhalt von Ordnern mit den Methoden list() und listFiles() abrufen (für Dateinamen bzw. Files). Sie können auch einen Filter angeben, der eine Teilmenge der aufgelisteten Dateien auswählt .

41
rsp
  1. überprüfen Sie die Antwort des RSP
  2. überprüfen Sie, ob Sie zum Lesen der Datei berechtigt sind
  3. überprüfen Sie, ob die Datei von einer anderen Anwendung gesperrt wurde. Dies ist vor allem dann relevant, wenn Sie Windows verwenden. Ich denke zum Beispiel, dass Sie die Ausnahme bekommen können, wenn Sie versuchen, die Datei zu lesen, während sie im Editor geöffnet ist
5
AlexR

In einigen Fällen ist es auch wichtig, die Zielordner-Berechtigungen zu überprüfen. Die Lösung könnte darin bestehen, dem Benutzer eine Schreibberechtigung zu erteilen. Das hat bei mir geklappt.

2
Thales Valias

Hier ist eine Nachricht, die ich gerade entdeckt habe - vielleicht hilft sie jemand anderem. Wenn Sie Windows verwenden, darf für den Klassenordner keine Verschlüsselung aktiviert sein! Tomcat scheint das nicht zu mögen. Klicken Sie mit der rechten Maustaste auf den Klassenordner, wählen Sie "Eigenschaften" und klicken Sie dann auf die Schaltfläche "Erweitert ...". Stellen Sie sicher, dass das Kontrollkästchen "Inhalte verschlüsseln, um Daten zu sichern" deaktiviert ist. Starten Sie Tomcat neu.

Es hat bei mir funktioniert, also hoffe ich, dass es auch jemand anderem hilft.

2
rexthestrange