Wie kann ich mit Java herausfinden, ob ich Zugriff auf einen Ordner oder Pfad habe oder nicht?

...komplette Frage anzeigen

2 Antworten

Die Methoden gibt es doch, canWrite(), canRead() und canExecute().

Du solltest aber Java NIO verwenden, die File Klasse ist veraltet.

canWrite() und canRead() hab ich schon ausprobiert. Die geben jedoch auch bei den Ordnern true zurück, die ich definitiv nicht öffnen darf.
Außerdem muss ich die File-Klasse verwenden, weil ich mit JavaFx eine GUI erstelle und JavaFx fordert eben io.File.

0

Dokumentation lesen, die Methode gibt immer true zurück, wirft aber eine SecurityException falls man keinen Zugriff hat. Du kannst Java NIO benutzen, selbst wenn es wirklich nur eine Methode gibt die eine File akzeptiert. Einfach NIO benutzen um die Berechtigungen zu prüfen und als Parameter die toFile() Methode verwenden.

1
@androhecker

Beispiel:

File file = new File("C:\\System Volume Information");
System.out.println(Files.isWritable(Paths.get(file.toURI())));
System.out.println(Files.isReadable(Paths.get(file.toURI())));
0

Oh, ich hab die Doku schon gelesen. Ich spreche ja auch von canWrite und canRead. Dort steht dran, dass diese entweder true oder false zurückliefern.

NIO hab ich mir auch schon angsehen, aber ich werde nochmal durchsehen und außerdem canExecute() austesten.

0

Wenn du keinen Inhalt zurück gegeben bekommst könntest du versuchen eine einfach txt datei o.ä. im Ordner zu erstellen und dir dann diesen Inhalt zurück geben lassen. Wenn das nicht funktioniert hast du wohl keinen Zugriff.

Was möchtest Du wissen?