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.
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: