Frage

Ich versuche, die Dateien in einem Ordner zu lesen, aber wenn ich das Programm ausführen wirft es diese Ausnahme. Ich habe versucht, mit einigen anderen Ordner auch. Es wirft die gleiche Ausnahme.

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)
War es hilfreich?

Lösung

Sie können nicht öffnen und lesen Sie ein Verzeichnis, verwenden Sie die isFile() und isDirectory() Methoden zwischen Dateien und Ordnern zu unterscheiden. Sie können den Inhalt von Ordnern erhalten die list() und listFiles() Methoden (für Dateinamen und Files jeweils) auch einen Filter, der wählt eine Teilmenge von Dateien aufgelistet angeben können.

Andere Tipps

  1. Überprüfen Sie das rsp Antwort
  2. Überprüfen Sie, ob Sie über die Berechtigungen zum Lesen der Datei
  3. prüfen, ob die Datei nicht von einer anderen Anwendung gesperrt ist. Es ist wichtig, vor allem, wenn Sie auf Fenster sind. zum Beispiel denke ich, dass Sie die Ausnahme erhalten, wenn Sie versuchen, die Datei zu lesen, während es im Notizblock
  4. geöffnet

Auch in einigen Fällen ist wichtig, die Zielordner Berechtigungen zu prüfen . Gibt die Schreibberechtigung für den Benutzer könnte die Lösung sein. Das funktioniert für mich.

Hier ist ein gotcha, dass ich gerade entdeckt - vielleicht könnte es jemand anderes helfen. Wenn Windows die Klassen verwenden, müssen Ordner nicht haben Verschlüsselung aktiviert! Tomcat scheint nicht, dass zu mögen. Rechtsklick auf den Klassen-Ordner, wählen Sie „Eigenschaften“ und klicken Sie dann auf die Schaltfläche „Erweitert ...“ klicken. Stellen Sie sicher, die „Inhalt verschlüsseln, um sichere Daten“ Checkbox wird gelöscht. Starten Sie Tomcat neu.

Es war für mich so hier hofft es jemand anderes hilft, auch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top