Einfach, plattformübergreifend, um bekannte Desktoppfade in Java zu erhalten?

8

Ich suche nach einer einfachen, plattformübergreifenden Möglichkeit auf der JVM, um die entsprechenden Verzeichnisse zum Speichern von Anwendungseinstellungen und Cache-Daten zu erhalten. Z. B. unter Linux unter den XDG-Spezifikationen:

  • Konfiguration in ~/.config/appname
  • Cache in ~/.cache/appname

Windows stuff geht in C\Users\user\Application Data oder so (auf Win 7); Ich nehme an, dass Mac Sachen unter ~/Library/Application Settings legt.

Gibt es einen plattformübergreifenden Aufruf, um diese Pfadpositionen zu erhalten? Ich konnte keins finden, obwohl ich mehrere Fragen dazu stelle. Gibt es eine Bibliothek, die die richtige Logik für die meisten gängigen Desktop-Plattformen implementiert hat?

Im schlimmsten Fall kann ich einfach user.home nachschlagen und so tun, als wäre alles eine XDG-basierte Linux-Umgebung. Aber wenn es einfach ist, die richtigen Verzeichnisse für das Betriebssystem des Benutzers zu finden, würde ich das gerne tun.

    
Michael Ekstrand 26.10.2012, 01:21
quelle

2 Antworten

2

Wir richten im Grunde genommen eine Dienstprogrammklasse ein, die diese Informationen bereitstellt, meist basierend auf der Systemeigenschaft user.home und os.name .

Wir haben eine Reihe von Methoden, die es uns ermöglichen, einen Pfad zu erstellen, etwa wie ...

%Vor%     
MadProgrammer 26.10.2012 01:29
quelle
2

Die FileSystemView -Klasse ist die einzige, die ich kenne, die Zugriff auf einige allgemeine Verzeichnisse wie diese hat und plattformübergreifend ist. Lesen Sie die Dokumentation hier

Diese Klasse enthält einige hilfreiche Methoden wie getHomeDirectory() und getDefaultDirectory() . Diese Klasse wird von den JFileChooser für Swing-Interfaces verwendet. Ich weiß, dass es nicht direkt auf die Verzeichnisse config und cache zeigt, aber es könnte ein Schritt in die richtige Richtung für Sie sein.

Für meine eigenen Apps verwende ich den nächstbesten Ansatz, indem ich versuche, alle Konfigurationen und Einstellungen, die in der Anwendung selbst enthalten sind, zu machen - d. Erstellen Sie ein "config" -Verzeichnis unter dem Verzeichnis, in dem die Anwendung installiert ist. Obwohl es kein zentraler Speicherort für die Konfiguration des gesamten Betriebssystems ist, bleibt es zumindest im Kontext der Java-Anwendung.

    
wattostudios 26.10.2012 01:24
quelle