Input/Output Ordner/Datei Rekutrsiv erstellen und

agent47

Aktives Mitglied
Ich will im Home Ordner des Benutzers eine XML Datei lesen und falls sie nicht existiert erstellen. Nur komme ich damit nicht weiter. Ich erstelle ein Path Objekt mit dem Pfad, prüfe ob der Existiert und wenn nicht will ich mit "
Files.createDirectories" und "Files.createFile" den Pfad und die Datei erstellen, doch das wird beim erstellen der Datei mit einer java.nio.file.AccessDeniedException belohnt. Kann mir jemand einen Tipp geben was ich Falsch mache?

Noch zur Info, im Dateimangager erscheint der Ordner, wenn ich ihn öffnen will sagt er das sich der Ordner nicht öffnen lässt.

Als OS verwende ich Kubuntu 15.04 mit Oracle Java 8 Update 51.

Java:
Path configurationFile = Paths.get(System.getProperty("user.home"), ".RedisAdmin", "connections.xml");
if(Files.exists(configurationFile)) {

//XML Datei lesen
redisConnectionList = JAXB.unmarshal(configurationFile.toUri(), RedisConnectionList.class);
} else {

//Default einstellungen initalisieren
RedisConnection defaultConnection = new RedisConnection();
redisConnectionList = new RedisConnectionList();
redisConnectionList.add(defaultConnection);

//XML Datei erstellen
try {

//Attribute
Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rw-rw-rw-");
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);

Files.createDirectories(configurationFile.getParent(), attr);
Files.createFile(configurationFile, attr);
//JAXB.marshal(redisConnectionList, configurationFile.toUri());
} catch (IOException e) {

UiDialogHelper.showErrorDialog("Fehler", "Die Einstellungen konnten nicht gespeichert werden", e.getLocalizedMessage());
UiDialogHelper.showExceptionDialog(e);
}
}
 
Zuletzt bearbeitet:

black swan

Mitglied
Da Du nur Code-Fragmente präsentierst, kann ich nicht nachvollziehen, wo genau das Problem liegt. Ich würde aber mal den Dateipfad configurationFile prüfen. Entweder Du debuggst ihn zur Laufzeit oder Du setzt statt einer Path-Variablen einen statischen String ein, der absolut auf die Datei zeigt.
 

FetterOtter

Bekanntes Mitglied
Ich bin nicht so der Held in dieser Thematik, aber eine "AccessDeniedException" klingt für mich nach einem Berechtigungs-Problem beim Schreib-Zugriff auf besagtes Verzeichnis.
 

JStein52

Top Contributor
Du bist auf Linux unterwegs oder ? Ich kenne zwar den Dateimanager dort nicht aber mach doch mal ein Terminalfenster auf und gehe mit dem Kommando cd ausgehend vom root-Verzeichnis schrittweise zu der fraglichen Stelle. Dann wird er dir vermutlich irgendwann mal sagen dass du da nicht hinkannst weil dir die Berechtigung fehlt.
Dann solltest du die Rechte entsprechend ändern. (ich gehe mal davon aus dass das Problem nicht ein Programmierfehler ist worauf ja auch die Exception hindeutet). Wenn du einen neuen Ordner oder eine Datei irgendwo anlegen willst brauchst du halt Schreibrechte in dem Ordner in dem du das tun willst, und mindestens Leserechte in allen darüber.
 

agent47

Aktives Mitglied
AccessDenied auf eine Datei ist definitiv ein Rechteproblem. Die Frage ist warum, die Anwendung läuft unter dem Standard Benutzet in meinem fall Benutzet ID 1000 in seinem Home Ordner sollte der Benutzer ja Schreibrechte haben.

Ich kann dann nur mal schauen mit welchen Rechten das Java Programm den Ordner und die Datei erstellt, nicht das da noch etwas nicht passt.
 

JStein52

Top Contributor
´Ja. Du hattest doch auch gescrieben, dass du den Ordner mit dem Dateimanager auch nicht öffnen kannst. Das ganze ist wohl definitiv ein Rechte-Problem. Legt dein Java-Programm den fraglichen Ordner vielleicht ohne Schreibrechte an so dass du darin dann keine Dateien erzeugen kannst ??
 

agent47

Aktives Mitglied
Mit der folgenden Berechtigung geht es jetzt,
Java:
Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxrwxrwx"");

Warum er das Bit zum Ausführen benötigt ist mir aber Unklar, reines lesen und Schreiben sollte ja reichen
 

JStein52

Top Contributor
Wenn ich das richtig im Kopf habe brauchst du bei Linux das x-Bit um überhaupt in diesen Ordner wechseln zu können. Bei Dateien hast du recht, da braucht man es nur für ausführbare Dateien.
 

agent47

Aktives Mitglied
@JStein52
Genau das war es, ich Programmiere seit fast 10 Jahren unter Linux (mit anderen Programmiersprachen) aber das ist mir noch nie aufgefallen. Ich habe das im Ubuntu Wiki noch einmal nachgelesen, das X-Bit bei Ordnern gibt dem Benutzer bzs. Gruppe überhaupt erstmal das Recht den Ordner zu betreten. Bei Dateien ist es das "Ausführen"-Bit.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
D Ordner der Ausgeführten Datei erhalten Java Basics - Anfänger-Themen 4
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
I Datei schreiben, im Klassen-Ordner Java Basics - Anfänger-Themen 15
C src-Ordner in jar-Datei (Eclipse) Java Basics - Anfänger-Themen 4
S Datei ausführen, verschiedene Ordner Java Basics - Anfänger-Themen 2
M Java-Datei in Ordner Kopieren Java Basics - Anfänger-Themen 12
S Bearbeiting von xml-Datei in src-Ordner möglich?i Java Basics - Anfänger-Themen 5
D höchster ordner in zip datei Java Basics - Anfänger-Themen 14
V Datei in Ordner auslesen -> neuer Ordnername Java Basics - Anfänger-Themen 7
G jar datei funktioniert nicht ohne jdom.jar im Ordner Java Basics - Anfänger-Themen 7
B Datei in mehrere Ordner splitten und wieder zusammenfuegen... Java Basics - Anfänger-Themen 3
Developer_X Java File listet den Ordner, in dem sich die Datei befindet Java Basics - Anfänger-Themen 7
M Ordner der jar Datei herausfinden und Partent durchsuchen Java Basics - Anfänger-Themen 4
A Verzeichnisse nach Datei / Ordner durchsuchen Java Basics - Anfänger-Themen 11
D neue Datei inkl. Ordner erstellen - in einem Rutsch? Java Basics - Anfänger-Themen 7
O Ordner mit Bilddateien in jar-Datei mit exportieren Java Basics - Anfänger-Themen 18
G Java Datei aus anderm Ordner aufrufen Java Basics - Anfänger-Themen 2
G Einen Ordner in einem JAR-Datei kann nicht gelesen werden Java Basics - Anfänger-Themen 2
D class-Datei in anderem Ordner Java Basics - Anfänger-Themen 6
M Wo den Ordner javafx-sdk-21.0.2 unter Linux ablegen? Java Basics - Anfänger-Themen 5
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
E Javamail Gesendet ordner Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
T src Ordner ausführen Java Basics - Anfänger-Themen 9
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4
L Files verschieben in einen Ordner Java Basics - Anfänger-Themen 87
Henri Mehrere Ordner umbenennen Java Basics - Anfänger-Themen 11
J Eclipse Einrichten : Umzug in anderen Ordner Java Basics - Anfänger-Themen 2
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
F Ordner auf alle Unterdatein abfragen Java Basics - Anfänger-Themen 3
F Zeile in Ordner Java Basics - Anfänger-Themen 4
J variablePathPart ändern nach dem Ordner abgearbeitet worden ist Java Basics - Anfänger-Themen 1
das_leon Auf Ordner zugreifen (Vollzugriff) Java Basics - Anfänger-Themen 2
MR._FIRE_Flower Ordner im Explorer öffnen lassen Java Basics - Anfänger-Themen 2
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
L Ordner Zippen Java Basics - Anfänger-Themen 2
L Ordner zusammenlegen Java Basics - Anfänger-Themen 3
J Java Ordner Erstellung nicht möglich. Java Basics - Anfänger-Themen 3
M Ordner mit Inhalt löschen Java Basics - Anfänger-Themen 7
M Erste Schritte Ordner im selber Verzeichnis wählen Java Basics - Anfänger-Themen 1
D Input/Output Ordner aus .Jar in das Verzeichnis der .Jar kopieren Java Basics - Anfänger-Themen 1
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
S Prüfen ob bestimmter Ordner geöffnet ist (Windows XP) Java Basics - Anfänger-Themen 5
P newbie- Frage zu Ordner-Projektstruktur Java Basics - Anfänger-Themen 3
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
M Input/Output Ordner erstelen? Java Basics - Anfänger-Themen 12
A Ordner zippen Java Basics - Anfänger-Themen 10
J Ordner unter Windows Verstecken Java Basics - Anfänger-Themen 2
D Ordner auf Desktop erstellen(Pc unabhängig) Java Basics - Anfänger-Themen 3
M Neuen Ordner im Überverzeichnis erstellen, und dadrin arbeiten Java Basics - Anfänger-Themen 4
I Ordner schnell durchlesen Java Basics - Anfänger-Themen 11
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
P Dateien im Ordner auflisten. Java Basics - Anfänger-Themen 3
V bin und src Ordner Java Basics - Anfänger-Themen 3
M JFS- Ordner von faces-config.xml Java Basics - Anfänger-Themen 2
M JFileChooser Ordner auswählen Java Basics - Anfänger-Themen 5
B Ordner leeren/löschen Java Basics - Anfänger-Themen 5
X Wieso mehrere JRE ordner? Java Basics - Anfänger-Themen 8
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2
I Dateien in Ordner und Unterordner durchsuchen Java Basics - Anfänger-Themen 18
J Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden. Java Basics - Anfänger-Themen 12
D Compiler-Fehler Klasse wird im selben Ordner nicht gefunden Java Basics - Anfänger-Themen 5
J Markierte Items in einer JLIST in einen Ordner verschieben Java Basics - Anfänger-Themen 2
B res-Ordner für Text- und Bilddateien Java Basics - Anfänger-Themen 23
B Ordner in jar dateien einfügen Java Basics - Anfänger-Themen 4
M Java Eclipse IDE erstellt keinen Bin Ordner. Java Basics - Anfänger-Themen 10
F Kopieren von Ordner sammt inhalt Java Basics - Anfänger-Themen 5
V Ressourcen aus Ordner nutzen Java Basics - Anfänger-Themen 5
W Ordner "auslesen" Java Basics - Anfänger-Themen 18
R Aus jar Ordner lesen Java Basics - Anfänger-Themen 27
F Auf Ordner im selben Verzeichniss zugreifen Java Basics - Anfänger-Themen 3
K Input/Output Verschiedene Ordner für Java u.v.m. Projekte Java Basics - Anfänger-Themen 3
P Problem :Java-Dateien in einem Ordner ablegen Java Basics - Anfänger-Themen 10
S Ordner / Package Struktur bei größerem Projekt? Java Basics - Anfänger-Themen 8
O Erste Schritte Runnable Jar <- Ordner Fehlen Java Basics - Anfänger-Themen 6
J Ordner und Unterordner nach Dateien durchsuchen Java Basics - Anfänger-Themen 7
M Dateipfad: einen Ordner "hoch" Java Basics - Anfänger-Themen 11
M Input/Output Namen der Files aus einem Ordner MIT bestimmten Encoding auslesen? Java Basics - Anfänger-Themen 3
L Größe von Ordner wiedergeben Java Basics - Anfänger-Themen 4
M Applet soll Bilder aus Ordner lesen Java Basics - Anfänger-Themen 9
V .cab Dateien im Win Profil Ordner? Java Basics - Anfänger-Themen 5
eLogic Ordner kopieren/schreiben Java Basics - Anfänger-Themen 2
D Ordner in Eclipse Importieren Java Basics - Anfänger-Themen 6
F Ordner in JAR scannen Java Basics - Anfänger-Themen 3
xehpuk Ordner "Eigene Bilder" ansteuern Java Basics - Anfänger-Themen 3
P Kompelieren von 2 Java Dateien im selben Ordner Java Basics - Anfänger-Themen 13
J Dateien aus Ordner auslesen bzw. einlesen Java Basics - Anfänger-Themen 4
H Textdateien in Ordner einlesen - unendlich ? Java Basics - Anfänger-Themen 8
B Ordner öffnen (eigener Dateibrowser) Java Basics - Anfänger-Themen 8
F Liste aller Ordner auf einem Laufwerk erstellen? Java Basics - Anfänger-Themen 3
StrikeTom Wie ermittel ich alle dateinamen in einem Ordner Java Basics - Anfänger-Themen 2
H Wie Projekt-Ordner-Pfad ermitteln? Java Basics - Anfänger-Themen 11
S Betriebssystem - Ordner erstellen auf Windows & Linux Java Basics - Anfänger-Themen 3
BleedingSt4r Ordner + Unterordner "auslesen" ? Java Basics - Anfänger-Themen 32
S Ordner erstellen Problem Java Basics - Anfänger-Themen 4
S Ordner umbenennen mit renameTo - mysteriöses Problem Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben